CI/CD with MATLAB and Simulink
A Technical FAQ for Engineering and DevOps Teams
A Technical FAQ for Engineering and DevOps Teams
Continuous Integration/Continuous Delivery (CI/CD) gives teams using MATLAB and Simulink a reliable, reproducible, and auditable way to automate build, test, and verification workflows.
CI helps teams detect issues earlier by running model checks, simulations, test suites (including MATLAB Test and Simulink Test), and code generation on every change. This reduces integration surprises and creates a consistent, repeatable development process, with test results, coverage, and analysis outputs that enable releasing with confidence.
Yes. Model-Based Design workflows map directly to standard CI/CD stages because simulations, tests (including SIL and PIL), checks, and code generation can all run programmatically and be orchestrated like other pipeline steps.
Yes. MATLAB and Simulink run on any CI/CD platforms, such as Azure DevOps, GitHub Actions, GitLab CI/CD, Jenkins, and more. We have plugins for most major CI/CD platforms to help you get started quickly.
To use MATLAB and Simulink in CI/CD, you need:
Please see our DevOps integration guide for more information.
Containers help standardize the runtime environment, reduce drift across agents, and improve reproducibility by starting jobs from the same image definition. Use our MATLAB Dockerfile reference architecture to create a MATLAB and Simulink container for your CI/CD system. On some CI platforms, you can leverage virtual machines or persistent runners as alternatives for containers, particularly for non-Linux environments. However, containers are often an efficient and effective choice for CI/CD.
A typical pipeline follows familiar stages: pull, build, test, analyze, and publish. Workflows commonly include Model Advisor checks, simulation-based testing (including SIL/PIL where applicable), code generation, static analysis, and coverage collection, with each stage producing artifacts that the CI system collects and displays.
We have several example pipeline configurations to help get you started:
MATLAB and Simulink are core requirements.
Additional products depend on what you want to automate in the pipeline, such as:
Teams looking to accelerate adoption and generate CI/CD pipelines can also use CI/CD Automation for Simulink Check™ Support Package.
Start with the work you already do, such as model checks, simulations, tests or builds, and make those steps repeatable via scripts. Once the workflow is stable locally, configure your CI system to run the same commands automatically and expand over time.
No. Interactive development stays in the desktop tools. CI changes how build, test, and verification steps are packaged so they can be executed non‑interactively and consistently across environments.
The best way to license MATLAB in your CI/CD system is with a MATLAB batch token. Note: Obtaining a batch token may require additional MATLAB licenses.
Virtually anything you can script in MATLAB and Simulink can be run in CI, such as simulations, test execution, code generation, and traceability reporting. The MATLAB build tool and CI/CD Automation for Simulink Check Support Package can help you create customizable and scalable CI pipelines.
Yes. Many customers automate code generation and verification in CI pipelines to streamline their advanced workflows. To use code generation products in CI, you may need Client Access Licenses (CALs).
Yes. CI automates verification workflows and produces repeatable outputs such as test results, reports, coverage, and analysis findings. These practices are commonly used in engineering workflows that require traceable, reviewable verification evidence, including work aligned to standards such as DO-178C, IEC 61508, or ISO 26262.
Checks, including Model Advisor and static analysis with Polyspace, run as scripted CI steps and publish structured results for review across teams.
CI retains a durable record of each run, including the inputs, configuration, and verification outcomes associated with a specific change.
Pipelines scale by splitting work into independent stages and distributing them across multiple runners, separating fast checks from long simulations or builds to maintain predictable cycle times.
Yes. Independent simulations, tests, and builds can run as separate CI jobs, subject to available compute and licensing resources.
Some common causes for CI pipelines getting stuck are:
Many teams often have results that get stuck in the CI/CD log or have generated artifacts that can only be accessed from within the CI/CD system. To see your results outside of the CI/CD system, ensure that your pipeline publishes your results or uploads them to an artifact management system.
Some common causes are:
Many of these issues can be avoided with a MATLAB batch token and our instructions on using the batch token.
Teams typically reach out when they are:
If these challenges match your current workflow, a focused discussion can help identify a starting point and avoid common adoption pitfalls.