CI/CD con MATLAB e Simulink
FAQ tecniche per team di ingegneri e DevOps
FAQ tecniche per team di ingegneri e DevOps
L’integrazione continua/distribuzione continua (CI/CD) offre ai team che utilizzano MATLAB e Simulink un modo affidabile, riproducibile e verificabile per automatizzare i workflow di compilazione, test e verifica.
La CI aiuta i team a rilevare i problemi precocemente eseguendo controlli di modelli, simulazioni, suite di test (tra cui MATLAB Test e Simulink Test) e generazione di codice dopo ogni modifica. Ciò riduce le sorprese durante l’integrazione e permette di creare un processo di sviluppo coerente e ripetibile, che include risultati dei test, copertura e risultati delle analisi, consentendo un rilascio in sicurezza.
Sì. I workflow di progettazione Model-Based si collegano direttamente alle fasi standard di CI/CD, poiché le simulazioni, i test (tra cui SIL e PIL), i controlli e la generazione di codice possono essere tutti eseguiti in modo programmatico e venire coordinati come le altre fasi della pipeline.
Sì. MATLAB e Simulink vengono eseguiti su qualsiasi piattaforma di CI/CD, come Azure DevOps, GitHub Actions, GitLab CI/CD, Jenkins e altri ancora. Offriamo plugin per la maggior parte delle principali piattaforme di CI/CD per aiutarti a iniziare a lavorare rapidamente.
Per utilizzare MATLAB e Simulink nella CI/CD, occorrono:
Per ulteriori informazioni, consulta la nostra Guida sull’integrazione DevOps.
I contenitori aiutano a standardizzare l’ambiente di runtime, ridurre il drift tra gli agenti e migliorare la riproducibilità avviando i lavori dalla stessa definizione di immagine. Usa la nostra architettura di riferimento MATLAB Dockerfile per creare un contenitore MATLAB e Simulink per il tuo sistema di CI/CD. Su alcune piattaforme di CI, è possibile sfruttare macchine virtuali o runner persistenti come alternativa ai contenitori, in particolare per gli ambienti non Linux. Tuttavia, i contenitori sono spesso una scelta efficiente ed efficace per la CI/CD.
Una tipica pipeline segue delle fasi comuni: estrazione, compilazione, test, analisi e pubblicazione. I workflow comunemente includono controlli di Model Advisor, test basati sulla simulazione (tra cui SIL/PIL ove applicabili), generazione di codice, analisi statica e raccolta delle metriche di copertura, e ciascuna fase produce artefatti che il sistema di CI acquisisce e mostra.
Offriamo diverse configurazioni di pipeline di esempio per aiutarti a iniziare a lavorare:
MATLAB e Simulink sono requisiti di base.
I prodotti aggiuntivi dipendono da ciò che si desidera automatizzare nella pipeline, ad esempio:
I team che desiderano accelerare l’adozione e generare pipeline CI/CD possono inoltre utilizzare CI/CD Automation for Simulink Check™ Support Package.
Inizia dalle attività che già svolgi, come controlli di modelli, simulazioni, test o build, e rendi tali passaggi ripetibili tramite script. Una volta che il workflow è stabile a livello locale, configurara il tuo sistema di CI affinché esegua gli stessi comandi in maniera automatica e si espanda nel tempo.
No. Lo sviluppo interattivo rimane negli strumenti desktop. La CI cambia il modo in cui le fasi di compilazione, test e verifica vengono pacchettizzate così da poterle eseguire in maniera non interattiva e in modo coerente in più ambienti.
Il modo migliore per gestire le licenze MATLAB nel tuo sistema di CI/CD è utilizzare un batch token MATLAB. Nota: per ottenere un batch token potrebbero essere necessarie licenze MATLAB aggiuntive.
In un ambiente di CI puoi eseguire praticamente qualsiasi attività eseguibile tramite script in MATLAB e Simulink, come simulazioni, esecuzione di test, generazione di codice e report di tracciabilità. Lo strumento di compilazione MATLAB e CI/CD Automation for Simulink Check Support Package possono aiutarti a creare pipeline personalizzabili e scalabili.
Sì. Molti clienti automatizzano la generazione e verifica del codice nelle pipeline CI per ottimizzare i loro workflow avanzati. L’uso di prodotti di generazione di codice nella CI potrebbe richiedere licenze CAL (Client Access Licenses).
Sì. La CI automatizza i workflow di verifica e produce output ripetibili quali risultati dei test, report, copertura e risultati delle analisi. Queste pratiche vengono comunemente utilizzate nei workflow ingegneristici che richiedono evidenze di verifica revisionabili e tracciabili, tra cui operazioni allineate a standard quali DO-178C, IEC 61508 o ISO 26262.
I controlli, tra cui quelli di Model Advisor e l’analisi statica con Polyspace, vengono eseguiti come passaggi di CI basati su script e pubblicano risultati strutturati che possono essere revisionati da più team.
La CI conserva una registrazione duratura di ciascuna esecuzione, che include gli input, la configurazione e gli esiti della verifica associati a una specifica modifica.
Le pipeline sono scalabili poiché suddividono il lavoro in più fasi indipendenti e le distribuiscono tra più runner, separando controlli rapidi da lunghe simulazioni o build per mantenere tempi di ciclo prevedibili.
Sì. Simulazioni, test e build indipendenti possono essere eseguiti come lavori CI separati, a seconda delle risorse di calcolo e di licenza disponibili.
Alcune cause comuni che possono bloccare le pipeline di CI sono:
Molti team spesso si ritrovano con risultati che restano confinati nei log di CI/CD o con artefatti generati che possono essere consultati solo dall’interno del sistema di CI/CD. Per consultare i risultati al di fuori del sistema di CI/CD, assicurati che la tua pipeline pubblichi i risultati o li carichi su un sistema di gestione degli artefatti.
Alcune cause comuni sono:
È possibile evitare molti di questi problemi con un batch token MATLAB e seguendo le nostre istruzioni sull’uso del batch token.
I team generalmente si rivolgono a MathWorks quando:
Se queste sfide corrispondono al tuo attuale workflow, una discussione mirata può aiutare a identificare un punto di partenza ed evitare le difficoltà più comuni nell’adozione.