Install MathWorks Products in CI Environments

July 6, 2026 · View on GitHub

To install MATLAB®, Simulink®, and other MathWorks® products in your continuous integration (CI) environment, you can use the CI platform integrations for MATLAB or the MATLAB Package Manager (mpm):

  • CI platform integrations for MATLAB — MATLAB integrates with several CI platforms, such as GitHub® Actions, GitLab® CI/CD, and Jenkins®. Some of these integrations provide a built-in mechanism to install MathWorks products in CI environments. If your CI runner is compatible with such an integration, you can automatically install your preferred products using that integration. For more information, see Use CI Platform Integrations.
  • MATLAB Package Manager (mpm) — The MATLAB Package Manager enables automated product installation using a programmatic interface. You can use MPM to install products from the system command line, pipeline configuration file, or Dockerfile. Use mpm if there is no integration to install products on your CI runner or if you want to have full control over the installation process. For more information, see Use MATLAB Package Manager.

Tip

To access the list of installed products on your system, use the ver command.

Use CI Platform Integrations

This table includes the integrations that you can use to install products on cloud-hosted or self-hosted runners. The integrations use mpm to install a specific release of MATLAB and other MathWorks products. To make the installed products available for use in CI pipelines, the integrations also prepend MATLAB to the PATH system environment variable.

PlatformInstallation MethodRunner TypeIntegration Documentation
Azure DevOps®

In your azure-pipelines.yml file, use an extension task to install MATLAB.

  • Cloud-hosted
  • Self-hosted

MATLAB (Visual Studio Marketplace)
CircleCI®

In your .circleci/config.yml file, use an orb command to install MATLAB.

Cloud-hosted

Use MATLAB with CircleCI
GitHub Actions

In your workflow file in the .github/workflows directory of your repository, use an action to set up MATLAB.

  • Cloud-hosted
  • Self-hosted

Use MATLAB with GitHub Actions
Jenkins

In the Jenkins tool configuration interface, register a tool to automatically install products.

Self-hosted

MATLAB (Jenkins Plugins Index)

For a complete list of CI platform integrations for MATLAB, see Continuous Integration with MATLAB on CI Platforms.

Note

For cloud-hosted runners, the integrations automatically include the dependencies required to run MATLAB and other MathWorks products. However, if you are using a self-hosted runner, you must ensure that the required dependencies are available on your runner. For details, see the documentation for the corresponding CI platform integration.

Use MATLAB Package Manager

If there is no built-in installation mechanism for your CI platform or if you want to have full control over the installation process, use the MATLAB Package Manager (mpm) to install MATLAB, Simulink, and other MathWorks products from the system command line, pipeline configuration file, or Dockerfile. For information on how to access and use mpm, see Get MATLAB Package Manager. In particular, see mpm install for usage examples and limitations.

This table includes the typical use cases of mpm in CI environments.

Use CaseSolution
Install products on a runner in a persistent fashion.Use mpm install at the system command line.
Install products on a runner as part of your CI pipeline.Use mpm install in the pipeline configuration file.
Install products in a container to run your CI pipeline.Use mpm install in the Dockerfile for noninteractive workflows. For more information, see Create a MATLAB Container Image for Non-Interactive Workflows.

Tip

The build component for GitLab CI/CD provides a built-in mechanism for running MATLAB code and Simulink models in a container. By default, jobs created from the build component run using the latest release of MATLAB in the MATLAB container on Docker® Hub. To include your preferred products for a given release using mpm, create a custom image and pass it to the matlab_image input of the component.

See Also


Copyright 2026 The MathWorks, Inc.