CI/CD con MATLAB y Simulink
Preguntas técnicas frecuentes para equipos de ingeniería y DevOps
Preguntas técnicas frecuentes para equipos de ingeniería y DevOps
La integración y entrega continuas (CI/CD) brindan a los equipos de trabajo que utilizan MATLAB y Simulink una forma fiable, reproducible y auditable de automatizar flujos de trabajo de compilación, pruebas y verificación.
La integración continua ayuda a los equipos de trabajo a detectar problemas anticipadamente ejecutando comprobaciones de modelos, simulaciones, conjuntos de pruebas, incluyendo MATLAB Test y Simulink Test, y generación de código con cada cambio. Esto reduce problemas de integración imprevistos y crea un proceso de desarrollo coherente y repetible, con resultados de pruebas, cobertura y resultados de análisis que permiten publicar versiones con confianza.
Sí. Los flujos de trabajo de diseño basado en modelos se corresponden directamente con las etapas estándar de CI/CD, ya que las simulaciones, pruebas, incluyendo SIL y PIL, comprobaciones y generación de código pueden ejecutarse de forma programática y gestionarse como otros pasos de la cadena de tareas.
Sí. MATLAB y Simulink se ejecutan en cualquier plataforma de CI/CD, como Azure DevOps, GitHub Actions, GitLab CI/CD y Jenkins, entre otras. Disponemos de complementos para la mayoría de las principales plataformas de CI/CD que permiten comenzar rápidamente.
Para utilizar MATLAB y Simulink en CI/CD, necesita:
Consulte la guía de integración de DevOps para obtener más información.
Los contenedores ayudan a estandarizar el entorno de ejecución, reducir las desviaciones entre agentes y mejorar la reproducibilidad, ya que los trabajos parten de la misma definición de imagen. Utilice la arquitectura de referencia de Dockerfile de MATLAB para crear un contenedor de MATLAB y Simulink para el sistema de CI/CD. En algunas plataformas de integración continua se pueden utilizar equipos virtuales o ejecutores persistentes como alternativa a los contenedores, especialmente en entornos distintos de Linux. No obstante, los contenedores suelen ser una opción eficiente y eficaz para CI/CD.
Una cadena de tareas típica sigue etapas conocidas: extracción, compilación, pruebas, análisis y publicación. Los flujos de trabajo suelen incluir comprobaciones de Model Advisor, pruebas basadas en simulación, incluyendo SIL/PIL cuando proceda, generación de código, análisis estático y recopilación de datos de cobertura; cada etapa produce artefactos que el sistema de integración continua recopila y muestra.
Disponemos de varios ejemplos de configuraciones de cadenas de tareas que facilitan los primeros pasos:
MATLAB y Simulink son requisitos fundamentales.
Los productos adicionales dependen de lo que se desee automatizar en la cadena de tareas; por ejemplo:
Igualmente, CI/CD Automation for Simulink Check™ Support Package puede emplearse para acelerar la adopción y generar cadenas de tareas de CI/CD.
Comience por el trabajo que ya realiza, como comprobaciones de modelos, simulaciones, pruebas o compilaciones, y convierta esos pasos en repetibles mediante scripts. Una vez que el flujo de trabajo sea estable localmente, configure el sistema de integración continua para que ejecute los mismos comandos automáticamente y amplíelo poco a poco.
No. El desarrollo interactivo sigue realizándose en las herramientas de escritorio. La integración continua cambia la forma de empaquetar los pasos de compilación, pruebas y verificación para que se puedan ejecutar de manera no interactiva y coherente en distintos entornos.
La mejor forma de obtener una licencia de MATLAB para un sistema de CI/CD es utilizar un token de ejecución por lotes de MATLAB. Nota: Es posible que se necesiten licencias adicionales de MATLAB para obtener un token de ejecución por lotes.
Prácticamente todo aquello que se puede automatizar mediante scripts en MATLAB y Simulink se puede ejecutar en integración continua; por ejemplo, simulaciones, ejecución de pruebas, generación de código e informes de trazabilidad. MATLAB Build Tool y CI/CD Automation for Simulink Check Support Package permiten crear cadenas de tareas de integración continua personalizables y escalables.
Sí. Muchos clientes automatizan la generación y verificación de código en cadenas de tareas de integración continua para agilizar flujos de trabajo avanzados. Para utilizar productos de generación de código en integración continua, es posible que se necesiten licencias de acceso de cliente (CAL).
Sí. La integración continua automatiza los flujos de trabajo de verificación y produce resultados repetibles, como resultados de pruebas, informes, cobertura y hallazgos de análisis. Estas prácticas son comunes en flujos de trabajo de ingeniería que requieren evidencias de verificación trazables y revisables, como trabajos ajustados a estándares como DO-178C, IEC 61508 o ISO 26262.
Las comprobaciones, incluyendo las de Model Advisor y el análisis estático con Polyspace, se ejecutan como pasos de integración continua mediante scripts y publican resultados estructurados para que los equipos de trabajo puedan revisarlos.
La integración continua conserva un registro duradero de cada ejecución, incluyendo las entradas, configuración y resultados de verificación relacionados con un cambio concreto.
Las cadenas de tareas se escalan dividiendo el trabajo en etapas independientes que se distribuyen entre múltiples ejecutores, para separar comprobaciones rápidas de simulaciones o compilaciones largas y mantener tiempos de ciclo predecibles.
Sí. Se pueden ejecutar simulaciones, pruebas y compilaciones independientes como trabajos de integración continua distintos, en función de los recursos de cálculo y licencias disponibles.
Algunas causas comunes de bloqueo de cadenas de tareas de integración continua son:
En muchos equipos de trabajo, a menudo los resultados se bloquean en el registro de CI/CD o los artefactos generados solo se pueden consultar desde el sistema de CI/CD. Para acceder a los resultados fuera del sistema de CI/CD, asegúrese de que la cadena de tareas los publique o los cargue en un sistema de gestión de artefactos.
Algunas causas comunes son:
Muchos de estos problemas pueden evitarse con un token de ejecución por lotes de MATLAB y siguiendo las instrucciones de uso del token de ejecución por lotes.
Los equipos de trabajo suelen contactar cuando necesitan:
Si estos desafíos se corresponden con el flujo de trabajo actual, una conversación específica puede ayudar a identificar un punto de partida y evitar problemas de adopción comunes.