FAQ

Les systèmes d'intégration continue et de livraison continue (CI/CD) proposent aux équipes qui utilisent MATLAB et Simulink une solution fiable, reproductible et auditable pour automatiser les workflows de compilation, de test et de vérification.

Comment MATLAB et Simulink s'intègrent aux workflows CI/CD

L'intégration continue aide les équipes à détecter les problèmes plus tôt en exécutant des vérifications de modèles, des simulations, des suites de tests (notamment avec MATLAB Test et Simulink Test) et la génération de code à chaque modification. Cela permet de limiter les imprévus au moment de l'intégration et d'établir un processus de développement cohérent et reproductible, dont les résultats de test, de couverture et d'analyse permettent la mise en production en toute confiance.

Oui. Les workflows utilisant l'approche Model-Based Design s'intègrent directement aux étapes CI/CD standard, car les simulations, les tests (notamment les tests SIL et PIL), les vérifications et la génération de code peuvent tous être exécutés de manière programmatique et orchestrés comme les autres étapes du pipeline.

Oui. MATLAB et Simulink peuvent s'exécuter sur n'importe quelle plateforme CI/CD : Azure DevOps, GitHub Actions, GitLab CI/CD, Jenkins et bien plus encore. Nous proposons des plugins pour la plupart des grandes plateformes CI/CD afin de vous aider à démarrer rapidement.


Premiers pas avec le CI/CD

Pour utiliser MATLAB et Simulink dans un système CI/CD, il vous faut :

  • Un système de gestion de version
  • Un système CI/CD
  • Une image de conteneur (ou machine virtuelle) MATLAB
  • Une licence MATLAB
  • Une configuration de pipeline

Pour plus d'informations, veuillez-vous référer à notre guide d'intégration DevOps.

Les conteneurs permettent de standardiser l'environnement d'exécution, de réduire la dérive entre les agents et d'améliorer la reproductibilité en lançant les jobs à partir d'une même définition d'image. Utilisez notre architecture de référence MATLAB Dockerfile afin de créer un conteneur MATLAB et Simulink pour votre système CI/CD. Sur certaines plateformes CI, vous pouvez exploiter des machines virtuelles ou des exécuteurs persistants comme alternatives aux conteneurs, en particulier dans les environnements autres que Linux. Cependant, les conteneurs constituent souvent un choix efficace et performant pour les systèmes CI/CD.

Un pipeline typique suit des étapes bien connues : extraction, compilation, test, analyse et publication. Les workflows comprennent généralement des vérifications effectuées par Model Advisor, des tests basés sur les simulations (notamment SIL/PIL, le cas échéant), la génération de code, l'analyse statique et la collecte de la couverture, chaque étape produisant des artefacts que le système CI rassemble et affiche.

Nous proposons plusieurs exemples de configuration de pipeline pour vous aider à démarrer :

Une bonne connaissance de MATLAB et de Simulink est requise.

Les produits supplémentaires dépendent de ce que vous souhaitez automatiser dans le pipeline, par exemple :

Les équipes qui souhaitent accélérer l'adoption et produire des pipelines CI/CD peuvent également utiliser le support package CI/CD Automation for Simulink Check.

Commencez par les tâches que vous effectuez déjà, telles que les vérifications de modèles, les simulations, les tests ou les compilations, et rendez ces étapes reproductibles grâce à des scripts. Une fois le workflow stabilisé en local, configurez votre système de CI pour qu'il exécute automatiquement les mêmes commandes et s'étende progressivement.

Non. Le développement interactif reste limité aux outils desktop. L'intégration continue modifie la manière dont les étapes de compilation, de test et de vérification sont packagées afin de pouvoir être exécutées de manière non interactive et cohérente dans tous les environnements.


Gestion des licences MATLAB et Simulink dans un système CI/CD

La meilleure façon d'obtenir une licence MATLAB dans votre système CI/CD consiste à utiliser un jeton batch MATLAB. Remarque : l'obtention d'un jeton batch peut nécessiter des licences MATLAB supplémentaires.


Personnaliser vos workflows de compilation, tests et vérification

Pratiquement tout ce que vous pouvez scripter dans MATLAB et Simulink peut être exécuté dans un environnement CI, notamment les simulations, l'exécution de tests, la génération de code et la création de rapports de traçabilité. MATLAB Build Tool et le support package CI/CD Automation for Simulink Check peuvent vous aider à créer des pipelines CI personnalisables et évolutifs.

Oui. De nombreux clients automatisent la génération et la vérification du code dans leurs pipelines CI afin de rationaliser leurs workflows avancés. Pour utiliser des produits de génération de code dans un cadre CI, vous aurez peut-être besoin de licences CAL (Client Access License).


Support pour la gouvernance, la traçabilité et les révisions

Oui. L'intégration continue automatise les workflows de vérification et génère des résultats reproductibles, tels que des résultats de tests, des rapports, des examens de couverture et des conclusions d'analyse. Ces pratiques sont couramment utilisées dans les workflows d'ingénierie qui nécessitent des preuves de vérification traçables et vérifiables, notamment dans le cadre de travaux conformes à des normes telles que DO-178C, IEC 61508 ou ISO 26262.

Les vérifications, notamment celles effectuées par Model Advisor et l'analyse statique avec Polyspace, s'exécutent sous forme d'étapes CI scriptées et génèrent des résultats structurés pouvant être examinés par l'ensemble des équipes.

L'intégration continue conserve un historique durable de chaque exécution, contenant notamment les données d'entrée, la configuration et les résultats de vérification associés à une modification spécifique.


Planification de la mise à l'échelle et de l'infrastructure

La mise à l'échelle des pipelines s'appuie sur la division des tâches en étapes indépendantes et leur répartition entre plusieurs exécuteurs, ce qui permet de séparer les vérifications rapides des opérations longues de simulation ou de compilation, et ainsi de garantir des temps de cycle prévisibles.

Oui. Les simulations, tests et compilations indépendants peuvent être exécutés sous forme de jobs CI distincts, sous réserve de la disponibilité des ressources de calcul et des licences.


Pièges courants en matière de CI/CD

Voici quelques causes courantes de blocage des pipelines CI :

  • Workflows, fonctions ou UI nécessitant des interactions utilisateur
  • Attente d'une ressource hardware non disponible ou d'un accès au système de fichiers
  • Pipelines qui surchargent les ressources CI

De nombreuses équipes peuvent se trouver confrontées à des résultats bloqués dans le log CI/CD ou à des artefacts correctement générés mais accessibles uniquement au sein du système CI/CD. Pour pouvoir consulter vos résultats en dehors du système CI/CD, assurez-vous que votre pipeline les publie ou les transfère vers un système de gestion des artefacts.

Voici quelques causes courantes de tels problèmes :

  • Utilisation d'un type de licence erroné
  • Configuration incorrecte de la licence
  • Impossibilité pour le système CI d'accéder à votre serveur de licences

Vous pouvez éviter bon nombre de ces problèmes en utilisant un jeton batch MATLAB et en suivant les instructions d'utilisation associées.


Dans quels cas solliciter MathWorks ?

Les équipes nous contactent généralement lorsqu'elles se trouvent dans les situations suivantes :

  • Mise à l'échelle de workflows intensifs en simulation vers un système CI/CD
  • Intégration de l'approche Model-Based Design dans des pipelines DevOps existants
  • Mise en place de workflows de vérification traçables pour les programmes soumis à des obligations réglementaires
  • Passage de tests manuels à des pipelines automatisés et reproductibles
  • Alignement de modèles, de tests et de code généré au sein d'un pipeline unique

Si ces défis correspondent à votre workflow actuel, un échange ciblé peut vous aider à définir un point de départ et à éviter les écueils courants liés à l'adoption.