CI/CD avec MATLAB et Simulink
FAQ technique pour les équipes d'ingénierie et DevOps
FAQ technique pour les équipes d'ingénierie et DevOps
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.
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.
Pour utiliser MATLAB et Simulink dans un système CI/CD, il vous faut :
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.
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.
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).
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.
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.
Voici quelques causes courantes de blocage des pipelines 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 :
Vous pouvez éviter bon nombre de ces problèmes en utilisant un jeton batch MATLAB et en suivant les instructions d'utilisation associées.
Les équipes nous contactent généralement lorsqu'elles se trouvent dans les situations suivantes :
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.