CI/CD mit MATLAB und Simulink
Technische FAQs für Entwicklungs- und DevOps-Teams
Technische FAQs für Entwicklungs- und DevOps-Teams
Continuous Integration / Continuous Delivery (CI/CD) bietet Teams, die MATLAB und Simulink verwenden, eine zuverlässige, reproduzierbare und überprüfbare Möglichkeit, Build-, Test- und Verifikations-Workflows zu automatisieren.
CI hilft Teams, Probleme früher zu erkennen, indem bei jeder Änderung Modellprüfungen, Simulationen, Testreihen (einschließlich MATLAB Test und Simulink Test) sowie die Codegenerierung ausgeführt werden. Dies verringert unerwünschte Überraschungen bei der Integration und schafft einen einheitlichen und wiederholbaren Entwicklungsprozess mit Testergebnissen, Abdeckungsdaten sowie Analyseergebnissen, die zuverlässige Releases ermöglichen.
Ja. Workflows mit Model-Based Design lassen sich direkt auf die Standardphasen von CI/CD abbilden, da Simulationen, Tests (einschließlich SIL und PIL), Überprüfungen und Codegenerierung alle programmgesteuert ausgeführt und wie andere Pipeline-Schritte koordiniert werden können.
Ja. MATLAB und Simulink laufen auf allen CI/CD-Plattformen, darunter Azure DevOps, GitHub Actions, GitLab CI/CD, Jenkins und weiteren. Wir bieten Plug-ins für die meisten großen CI/CD-Plattformen an, damit Sie sofort loslegen können.
Zur Verwendung von MATLAB und Simulink in CI/CD benötigen Sie:
Weitere Informationen finden Sie in unserem Leitfaden zur DevOps-Integration.
Container tragen dazu bei, die Laufzeitumgebung zu standardisieren, Abweichungen zwischen Agents zu reduzieren und die Reproduzierbarkeit zu verbessern, indem Jobs anhand derselben Image-Definition gestartet werden. Verwenden Sie unsere MATLAB-Dockerfile-Referenzarchitektur, um einen Container mit MATLAB und Simulink für Ihr CI/CD-System zu erstellen. Auf einigen CI-Plattformen können Sie virtuelle Maschinen oder persistente Runner als Alternativen zu Containern einsetzen, insbesondere in Nicht-Linux-Umgebungen. Container sind jedoch häufig eine effiziente und effektive Wahl für CI/CD.
Eine typische Pipeline durchläuft die bekannten Phasen Pull, Build, Test, Analyse und Veröffentlichung. Übliche Workflows umfassen Model-Advisor-Prüfungen, simulationsbasierte Tests (einschließlich SIL/PIL, sofern anwendbar), Codegenerierung, statische Analyse und die Erfassung der Abdeckung, wobei jede Phase Artefakte erzeugt, die das CI-System sammelt und anzeigt.
Wir stellen Ihnen mehrere Beispielkonfigurationen für Pipelines zur Verfügung, um Ihnen den Einstieg zu erleichtern:
MATLAB und Simulink sind grundsätzlich erforderlich.
Welche zusätzlichen Produkte Sie benötigen, hängt davon ab, was Sie in der Pipeline automatisieren möchten, also beispielsweise:
Teams, die die Einführung beschleunigen und CI/CD-Pipelines erstellen möchten, können zudem das CI/CD Automation for Simulink Check™ Support Package verwenden.
Beginnen Sie mit den Aufgaben, die Sie bereits ausführen, wie beispielsweise Modellprüfungen, Simulationen, Tests oder Builds, und machen Sie diese Schritte mithilfe von Skripten wiederholbar. Sobald der Workflow lokal stabil läuft, konfigurieren Sie Ihr CI-System so, dass es dieselben Befehle automatisch ausführt. Anschließend erweitern Sie den Umfang im Laufe der Zeit.
Nein. Die interaktive Entwicklung findet weiterhin in den Desktop-Tools statt. CI ändert, wie Build-, Test- und Verifikationsschritte gebündelt werden, sodass sie nicht-interaktiv und einheitlich über verschiedene Umgebungen hinweg ausgeführt werden können.
Die beste Möglichkeit, MATLAB in Ihrem CI/CD-System zu lizenzieren, ist die Verwendung eines MATLAB Batch-Tokens. Hinweis: Für den Erhalt eines Batch-Tokens sind unter Umständen zusätzliche MATLAB-Lizenzen erforderlich.
Praktisch alles, was sich in MATLAB und Simulink per Skript ausführen lässt, kann auch in CI laufen, darunter Simulationen, Testausführung, Codegenerierung und Rückverfolgbarkeitsberichte. Das MATLAB-Build-Tool und das CI/CD-Automation für Simulink Check Support Package helfen Ihnen dabei, anpassbare und skalierbare CI-Pipelines zu erstellen.
Ja. Viele Kunden automatisieren Codegenerierung und Verifikation in CI-Pipelines, um ihre fortgeschrittenen Arbeitsabläufe zu optimieren. Für den Einsatz von Codegenerierungsprodukten in CI benötigen Sie möglicherweise Client Access Licenses (CALs).
Ja. CI automatisiert Verifikations-Workflows und erzeugt reproduzierbare Testergebnisse, Berichte, Abdeckungen und Analysebefunde. Diese Verfahren werden häufig in technischen Workflows eingesetzt, die rückverfolgbare und überprüfbare Verifikationsnachweise erfordern, einschließlich Arbeiten, die auf Normen wie DO-178C, IEC 61508 oder ISO 26262 ausgerichtet sind.
Überprüfungen wie der Model Advisor und die statische Analyse mit Polyspace werden als skriptgesteuerte CI-Schritte ausgeführt und veröffentlichen strukturierte Ergebnisse zur teamübergreifenden Prüfung.
CI bewahrt dauerhafte Aufzeichnungen aller Durchläufe auf, die Eingaben, Konfiguration und Verifikationsergebnisse umfassen, welche mit einer bestimmten Änderung verbunden sind.
Pipelines lassen sich skalieren, indem die Arbeit in unabhängige Phasen aufgeteilt und auf mehrere Runner verteilt wird. Dabei werden schnelle Prüfungen von langen Simulationen oder Builds getrennt, um vorhersehbare Zykluszeiten zu gewährleisten.
Ja. Vorbehaltlich der verfügbaren Rechen- und Lizenzressourcen können unabhängige Simulationen, Tests und Builds als separate CI-Jobs ausgeführt werden.
Hier sind einige häufige Ursachen dafür, dass CI-Pipelines ins Stocken geraten:
Bei vielen Teams bleiben Ergebnisse häufig im CI/CD-Protokoll stecken oder auf die generierten Artefakte kann nur innerhalb des CI/CD-System zugegriffen werden. Um Ihre Ergebnisse auch von außerhalb des CI/CD-Systems einsehen zu können, stellen Sie sicher, dass Ihre Pipeline die Ergebnisse veröffentlicht oder in ein Artefakt-Verwaltungssystem hochlädt.
Einige häufige Ursachen sind:
Viele dieser Probleme lassen sich mit einem MATLAB Batch-Token und unserer Anleitung zur Verwendung des Batch-Tokens vermeiden.
Teams wenden sich in der Regel an uns, wenn sie:
Wenn diese Herausforderungen Ihrem aktuellen Arbeitsablauf entsprechen, kann ein gezieltes Gespräch dabei helfen, einen Ausgangspunkt zu finden und häufige Fallstricke bei der Einführung zu vermeiden.