Main Content

padv.pipeline.AzureDevOpsOptions

Options for generating pipeline configuration file for Azure DevOps

    Description

    This object requires CI/CD Automation for Simulink Check. Use the padv.pipeline.AzureDevOpsOptions object to represent the desired options for generating an Azure® DevOps pipeline configuration file. To generate an Azure DevOps pipeline configuration file, use padv.pipeline.AzureDevOpsOptions as an input argument to the padv.pipeline.generatePipeline function. For more information on how to use the pipeline generator to integrate into Azure DevOps, see Integrate Process into Azure DevOps.

    Note

    If you run MATLAB® using the -nodisplay option or you use a machine that does not have a display (like many CI runners and Docker® containers), you should set up a virtual display server before you include the following built-in tasks in your process model:

    • Generate SDD Report

    • Generate Simulink Web View

    • Generate Model Comparison

    For information, see Set Up Virtual Display Machines Without Displays.

    Creation

    Description

    options = padv.pipeline.AzureDevOpsOptions returns configuration options for generating an Azure DevOps pipeline configuration file.

    This functionality requires CI/CD Automation for Simulink Check.

    options = padv.pipeline.AzureDevOpsOptions(Name=Value) sets properties using one or more name-value arguments. For example, padv.pipeline.AzureDevOpsOptions(AgentPoolName="high_memory") creates an options object that specifies that a generated pipeline configuration file use high_memory as the Azure DevOps agent pool keyword.

    Properties

    expand all

    Keywords for Azure DevOps agent pools, specified as a string. Use this property to specify which agent pools can run the jobs for the generated pipeline.

    Example: "high_memory"

    Data Types: string

    Name of ZIP file for job artifacts, specified as a string.

    Example: "my_job_artifacts.zip"

    Data Types: string

    File name of generated Azure DevOps pipeline file, specified as a string.

    By default, the generated pipeline generates into the subfolder derived > pipeline, relative to the project root. To change where the pipeline file generates, specify GeneratedPipelineDirectory.

    Example: "padv_generated_pipeline_file"

    Data Types: string

    Folder where MATLAB is installed, specified as a string.

    Example: "path/to/your/matlab/bin"

    Data Types: string

    When to collect build artifacts, specified as:

    • "never", 0, or false — Never collect artifacts

    • "on_success" — Only collect artifacts when the pipeline succeeds

    • "on_failure" — Only collect artifacts when the pipeline fails

    • "always", 1, or true — Always collect artifacts

    If the pipeline collects artifacts, the child pipeline contains a job, Collect_Artifacts, that compresses the build artifacts into a ZIP file and attaches the file to the job.

    Example: "on_failure"

    Data Types: logical | string

    Shell environment Azure DevOps uses to launch MATLAB, specified as one of these values:

    • "bash" — UNIX® shell

    • "pwsh" — PowerShell Core script

    Example: "pwsh"

    Data Types: string

    Checkout Git submodules at the beginning of each pipeline stage, specified as either:

    • "false"

    • "true"

    • "recursive"

    Example: "true"

    Data Types: string

    Options for runprocess command, specified as a padv.pipeline.RunProcessOptions object. padv.pipeline.RunProcessOptions has properties for the name-value arguments in the runprocess function, except for the arguments Tasks, Process, Subprocesses, and FilterArtifact.

    For example, to have the pipeline generator use a command like runprocess(DryRun = true) in Azure DevOps, you can create a padv.pipeline.RunProcessOptions object, specify the property values, and pass the object to padv.pipeline.AzureDevOpsOptions:

    rpo = padv.pipeline.RunProcessOptions;
    rpo.DryRun = true;
    ado = padv.pipeline.AzureDevOpsOptions(RunprocessCommandOptions = rpo);

    Example: padv.pipeline.RunProcessOptions

    Number of stages and grouping of tasks in CI pipeline, specified as either:

    • padv.pipeline.Architecture.SingleStage — The pipeline has a single stage, named Runprocess, that runs each of the tasks in the process.

      Example pipeline graphic that shows one stage that runs all tasks on all models

    • padv.pipeline.Architecture.SerialStagesGroupPerTask — The pipeline has one stage for each task in the process.

      Example pipeline graphic that shows one stage that runs one task, TaskA, and one stage that runs another task, TaskB

    • padv.pipeline.Architecture.IndependentModelPipelines— The pipeline contains parallel, downstream pipelines for each model. Each downstream pipeline independently runs the tasks associated with that model.

      To make sure the jobs run in parallel, make sure that you either:

      • Have multiple agents available

      • Configure your agent to run parallel jobs

      Example pipeline graphic showing two parallel downstream pipelines. One pipeline that runs TaskA and TaskB on ModelA. One pipeline that runs TaskA and TaskB on ModelB.

    For more information, see Integrate Process into Azure DevOps.

    Note

    The SerialStagesGroupPerTask and IndependentModelPipelines architectures define more complex pipelines, which can cause the pipeline generator to produce configuration files that exceed the maximum YAML file size limit for Azure DevOps. If Azure DevOps generates an error related to the maximum file size, consider simplifying the pipeline architecture by using the SingleStage pipeline architecture instead. For more information, see the Azure documentation for Imposed limits.

    Example: padv.pipeline.Architecture.SingleStage

    Command to start MATLAB program, specified as a string.

    Use this property to specify how the pipeline starts the MATLAB program. This property defines how the script in the generated pipeline file launches MATLAB.

    Example: "matlab"

    Data Types: string

    Command-line startup options for MATLAB, specified as a string.

    Use this property to specify the command-line startup options that the pipeline uses when starting the MATLAB program. This property defines the command-line startup options that appear next to the -batch option and MatlabLaunchCmd value in the"script" section of the generated pipeline file. The pipeline starts MATLAB with the specified startup options.

    By default, the support package launches MATLAB using the -batch option. If you need to run MATLAB without the -batch option, specify the property AddBatchStartupOption as false.

    Note

    If you run MATLAB using the -nodisplay option, you should set up a virtual display server before you include the following built-in tasks in your process model:

    • Generate SDD Report

    • Generate Simulink Web View

    • Generate Model Comparison

    For information, see Set Up Virtual Display Machines Without Displays.

    Example: "-nodesktop -logfile mylogfile.log"

    Data Types: string

    Specify whether to open MATLAB using -batch startup option, specified as a numeric or logical 0 (false) or 1 (true).

    By default, the support package launches MATLAB in CI using the -batch startup option.

    If you need to launch MATLAB with options that are not compatible with -batch, specify AddBatchStartupOption as false.

    Example: false

    Data Types: logical

    Specify where the generated pipeline file generates, specified as a string.

    This property defines the directory where the generated pipeline file generates.

    By default, the generated pipeline file is named "simulink_pipeline.yml". To change the name of the generated pipeline file, specify GeneratedYMLFileName.

    Example: fullfile("derived","pipeline","test")

    Data Types: string

    Generate Process Advisor build report, specified as a numeric or logical 1 (true) or 0 (false).

    Example: false

    Data Types: logical

    File format for the generated report, specified as one of these values:

    • "pdf" — PDF file

    • "html" — HTML report, packaged as a zipped file that contains the HTML file, images, style sheet, and JavaScript® files of the report

    • "html-file" — HTML report

    • "docx"Microsoft® Word document

    Example: "html-file"

    Name and path of generated report, specified as a string array.

    By default, the report path uses a relative path to the project root and the pipeline generator generates a report ProcessAdvisorReport.pdf.

    Example: "myReport"

    Data Types: string

    Stop running pipeline after stage fails, specified as a numeric or logical 0 (false) or 1 (true).

    By default, the pipeline continues to run, even if a stage in the pipeline fails.

    Example: true

    Data Types: logical

    Check for outdated results after merge, specified as a numeric or logical 1 (true) or 0 (false).

    The pipeline generator no longer uses this property.

    Example: false

    Data Types: logical

    Enable pipeline caching to support incremental builds in CI, specified as a numeric or logical 0 (false) or 1 (true).

    By default, generated pipelines use caching to help the performance of incremental builds in CI. However, if a generated pipeline generates errors when merging artifact information from parallel jobs, you can disable pipeline caching by specifying EnablePipelineCaching as 0 (false). Disabling pipeline caching increases build times, but can help avoid merge conflicts.

    Example: false

    Data Types: logical