Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Tiempo de lectura: 4 minutos.

General

IAR Systems, fundada en 1983 en Uppsala, Suecia, ha estado suministrando las mejores herramientas de desarrollo para sistemas integrados durante más de 30 años. Este proveedor líder de software y servicios para el desarrollo integrado se especializa en compiladores, depuradores y otras herramientas de C y C ++ para desarrollar y depurar firmware para procesadores de 8, 16, 32 bits y modernos de 64 bits. Sus herramientas prevalecen en los mercados integrados, de consumo e industriales donde los ingenieros de desarrollo probablemente usan uno de sus productos más de 30 veces al día.

Los flujos de trabajo de desarrollo tradicionales son propensos a los cuellos de botella. IAR Systems adopta un enfoque DevOps para ayudar a los equipos a eliminar los cuellos de botella y acelerar los flujos de trabajo de desarrollo modernos. IAR Systems también proporciona herramientas de compilación basadas en Linux para facilitar una amplia variedad de entornos de compilación y canalizaciones de integración y entrega continuas (CI / CD).

Vea una vista previa de la presentación de IAR Systems en la Cumbre de cumplimiento y pruebas de software integrado 2021. Descubra cómo su equipo de desarrollo integrado puede obtener comentarios instantáneos sobre el código con mejor calidad al implementar un flujo de trabajo moderno y automatizar toda la canalización de CI / CD.

PRESENTACIÓN COMPLETA DISPONIBLE AQUÍ >>

Los desafios

Si bien el enfoque general es trasladar los equipos de desarrollo de software integrado a DevOps y adoptar la integración, las pruebas y la entrega continuas, conlleva desafíos. Hay tres dificultades principales a las que se enfrentan los desarrolladores integrados al adoptar un entorno de desarrollo moderno e implementar canalizaciones de CI dentro de las limitaciones de su flujo de trabajo actual.

  1. Obtener comentarios sobre el código.
  2. Obtener comentarios sobre el código de manera oportuna, a menudo y temprano.
  3. La mala calidad de la fuente ralentiza las revisiones y las pruebas posteriores.

Para aumentar la eficiencia del desarrollo y la calidad del producto, las empresas buscan soluciones para automatizar todo el proceso de CI / CD. Pasar a un flujo de trabajo de CI / CD es una cosa. Automatizarlo es otro.

El enfoque

Al automatizar el flujo de trabajo de CI / CD, los desarrolladores obtienen comentarios casi instantáneos sobre el código. Para combinar sin problemas la automatización en sus flujos de trabajo modernos, los desarrolladores necesitan herramientas de construcción y tecnologías de prueba de software automatizadas.

Las herramientas de IAR Systems se integran en prácticamente cualquier sistema de compilación de CI como parte de una canalización de DevOps. Junto con CI / CD y automatización, las plataformas de desarrollo Linux, los flujos de trabajo basados ​​en Git con un enfoque dinámico para la ramificación y las cadenas de herramientas acopladas se están convirtiendo en componentes críticos para que los equipos los incorporen en sus entornos.

Un conjunto de herramientas colaborativas es parte integral de una canalización de CI / CD sin problemas. He aquí un ejemplo:

  • Orquestación
  • Control de versiones
  • Construya, analice y pruebe herramientas
  • Entorno de desarrollo en contenedores
Tabla llena de iconos que muestran la orquestación (Jenkins, GitHub, GitLab); Control de versiones (git, Subversion, mercurial); Herramientas de construcción, análisis y prueba (IAR Systems, Parasoft); Entorno de desarrollo en contenedores (ventana acoplable)
Componentes de herramientas de un entorno de integración continua. Fuente: IAR Systems

La Solución

Los equipos de desarrollo integrados buscan una solución que funcione con sus herramientas IAR, como compiladores. La asociación entre IAR Systems y Parasoft permite la integración de flujos de trabajo de desarrollo modernos, principalmente automatizando la canalización de CI / CD.

“Las herramientas IAR para Linux se integran bien con Parasoft. La combinación acelera el desarrollo y aumenta la calidad de su organización ".

—Felipe Torrezan, ingeniero de aplicaciones de campo, IAR Systems

Adopción de DevOps para el desarrollo de software integrado

Seguir una metodología DevOps (o ciclo de vida) garantiza que los equipos no trabajen en silos. Con la integración de IAR Systems y Parasoft, el desarrollo y las operaciones pueden comunicarse durante todo el SLDC, incluso mientras:

  • Desarrollo de software.
  • Encontrar y corregir errores.
  • Añadiendo nuevas funciones.

Esta comunicación de ida y vuelta garantiza que los equipos puedan colaborar sin que nada se pierda.

Si bien DevOps es adecuado para el desarrollo de software integrado, a menudo tiene limitaciones que otros tipos de desarrollo no tienen, como la capacidad de procesamiento y la memoria limitadas. El hardware de destino puede afectar su elección de cadena de herramientas y los tipos de pruebas que son posibles, pero los componentes básicos de la canalización de CI / CD siguen siendo los mismos.

La mejor manera de evolucionar un sistema de compilación heredado a CI / CD es comenzar con objetivos simples como:

  • Integre un sistema de construcción con un orquestador.
  • Comience a analizar la calidad del código con análisis estático de software.
  • Adopte pruebas unitarias automatizadas.

Un aspecto crítico de las canalizaciones de integración continua son las cadenas de herramientas que admiten una operación de no intervención controlada por línea de comandos, con mayor frecuencia en hosts de servidor Linux. Es por eso que IAR Systems creó herramientas para Linux. Son importantes para ayudar a los desarrolladores integrados a pasar a un enfoque de flujo de trabajo de CI / CD.

Empoderar a los desarrolladores de software con herramientas de compilación para Linux

Los desarrolladores de software que crean aplicaciones críticas para la seguridad para trabajar directamente en su entorno de host Linux pueden eliminar la administración de versiones de la cadena de herramientas con IAR Build Tools para Linux. Estos utilizan las principales herramientas de compilación de IAR Embedded Workbench y son alternativas equivalentes a las herramientas de compilación en Windows. Pueden integrarse con otros orquestadores y herramientas de compilación de Linux como Jenkins y GitLab. IAR Systems también proporciona una utilidad de construcción llamada IAR Build.

Aumento de la productividad con entornos de desarrollo de contenedores Docker

Los entornos de desarrollo en contenedores se están volviendo populares en las organizaciones de software porque brindan un conjunto de herramientas controlado por versiones y fácil de implementar que es idéntico para cada desarrollador. Los equipos de desarrollo pueden aumentar la flexibilidad y la productividad al permitir implementaciones en contenedores de IAR Build Tools para Linux para su uso con la prueba Parasoft C / C ++.

Gráfico que muestra la arquitectura de un contenedor con cadenas de herramientas de IAR Systems. De abajo hacia arriba: servidor (host), hipervisor, sistema operativo invitado, motor Docker, aplicaciones de cadenas de herramientas
Arquitectura de contenedores con cadenas de herramientas de IAR Systems. Fuente: IAR Systems

Integración con flujos de trabajo de CI típicos

Las herramientas de IAR Systems se integran completamente con los flujos de trabajo de CI típicos, como se ilustra a continuación, utilizando los corredores de GitHub o Jenkins. La integración comienza desde la rama de producción de origen, donde un desarrollador generalmente introduce el cambio y el código de grado de producción en el IDE del entorno de trabajo integrado de IAR.

Diagrama de flujo que muestra el flujo de trabajo típico de CI con ejecutores de GitHub.
Flujo de trabajo de CI típico con ejecutores de GitHub. Fuente: IAR Systems

Los resultados

La transición a un CI / CD automatizado desde un flujo de trabajo tradicional ayuda a los desarrolladores integrados a mejorar la eficiencia del desarrollo y la calidad del producto.

La integración de IAR Systems con los flujos de trabajo de CI / CD ofrece a los desarrolladores integrados:

  • Comentarios instantáneos sobre el código
  • Mejor calidad general del código
  • Esfuerzos de prueba manuales enfocados y revisiones de código en código de alta calidad
  • Mejores productos salen por la puerta más rápido
  • Tiempos de procesamiento de análisis y compilación significativamente mejores

Al implementar un flujo de trabajo moderno y automatizar todo el proceso de CI / CD, los equipos llegan a un punto en el que ya no encuentran fallas y todas las pruebas pasan. Todo este proceso de prueba y entrega acelera el tiempo de comercialización con un sistema limpio y sólido.

Descubra cómo su equipo de desarrollo de software crítico para la seguridad puede simplificar las compilaciones y pruebas automatizadas para acelerar su proceso de CI/CD para lograr un cumplimiento y una calidad continuos.

  • Industria: Tecnología
  • Ubicación: Uppsala, Suecia
  • Solución: Prueba C / C ++