CI/CD Automation for Simulink Check
Simplify adoption and optimize Continuous Integration/Continuous Delivery (CI/CD) workflows for Simulink
Updated 15 Mar 2023
This new support package helps you adopt and optimize Continuous Integration / Continuous Delivery (CI/CD) Workflows for Model-Based Design. With it you can address common challenges including setting up a pipeline tailored for Model-Based Design, reducing build time, reducing build failures, debugging build failures, and deploying a Model-Based Design workflow to the team and CI system.
The support package provides:
- Customizable process modeling system to define your build and verification process
- Build system to generate and optimally execute the process in your CI system
- Process Advisor app to deploy and automate your prequalification process
- Examples for integration with common CI systems such as Jenkins or Gitlab
The support package analyzes your project and generates a Model-Based Design CI/CD Pipeline based on your own process definition. You can reduce build times by performing optimized builds in popular CI systems such as Jenkins or Gitlab. You can prequalify your work in Simulink to reduce build failures in CI. If a failure occurs in CI, you can bring the results back into Simulink to reproduce and debug the issue.
This package is under active development, please share your insight, questions, and experiences to aid future updates by contacting us at email@example.com.
The incremental build technology and task staleness detection are under active development. Tasks will not become outdated when changing untracked artifacts. Refer to the Troubleshooting Artifact Issues and Untracked Changes section in the Appendix of the documentation to see the list of untracked artifacts. These limitations are planned to be removed in future updates to the support package. Follow this File Exchange page to be notified of updates.
The support package requires MATLAB® version R2022a Update 4 and later updates, and requires the use of MATLAB Projects, see Projects.
You can use Process Advisor on your desktop without a CI system.
To integrate the build system provided in this support package into your CI/CD system, you first need to configure your CI system to run MATLAB and Simulink products. For an example on how configure Jenkins and Gitlab, see Continuous Integration for Verification of Simulink Models. For information on the supported platforms, see Continuous Integration with MATLAB on CI Platforms
Documentation including example process models and Gitlab YAML file is available here: CI/CD Automation Support Package for Simulink Check Documentation
You can install this support package from Add-On Explorer or by downloading from File Exchange. If downloading from File Exhange, double click the .mlpkginstall file to begin the installation. If you receive an error about the support package not being compatible with your version of MATLABbut you have R2022a installed, then check that the .mlpkginstall file is associated with MATLAB R2022a.
The Process Advisor app runs on MATLAB projects. Process Advisor can be opened for an existing model in your project or the project itself. To open for an existing model in a project, on the Apps tab of the model, under Model Verification, Validation, and Test, click Process Advisor, see the image below.
To open for a project, click Process Advisor app on the Project tab, see image below:
An example project is provided to demonstrate the capabilities of Process Advisor. To open the project, MATLAB command line with the command:
Current version for MATLAB R2022a: February 2023, version 22.1.5.
Current version for MATLAB R2022b: February 2023, version 22.2.5.
Current version for MATLAB R2023a: March 2023, version 23.1.5.
MATLAB Release Compatibility
Created with R2022a
Compatible with R2022a to R2023a
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.