CI/CD Jobs

The following topics describe job types for continuous integration and continuous dseployment (CI/CD) services.

Job:Azure DevOps

Azure DevOps enables you to efficiently plan, track, manage work, version control your code, automate build and deployment pipelines, and conduct comprehensive testing, within a single, integrated, cloud -based environment. For more information, see Control-M for Azure DevOps.

The following example shows how to define an Azure DevOps job:

Copy
"Azure DevOps"
{
   "Type": "Job:Azure DevOps",
   "ConnectionProfile": "AZUREDEVCCP",
   "Project Name": "TestProject",
   "Actions": "Run Pipeline with More Options",
   "Pipeline Id": "1",
   "Show Build Logs": "checked",
   "Stages To Skip": "{\"Test\",\"Deploy\"}",
   "Variables": "\"variable1\": {%4E \"value\": \"var_value1\"%4E },%4E \"variable2\": {%4E \"value\": \"var_value2\",%4E \"isSecret\": true%4E }",
   "Repository Path": "refs/heads/release/MAIN",
   "Parameters": "{\"Param1\":\"value1\", \"Param2\": \"value2\"}",
   "Status Polling Frequency": "60",
   "Failure Tolerance": "3" 
}

The following table describes the Azure DevOps connection profile parameters.

Attribute

Description

ConnectionProfile

Determines the authorization credentials that are used to connect Control-M to Azure DevOps.

Rules:

  • Characters: 1−30

  • Case Sensitive: Yes

  • Invalid Characters: Blank spaces.

Project Name

Defines the name of the project in Azure DevOps that includes the required pipelines database catalog that the job points to when executing the query.

Actions

Determines one of the following actions to perform.

  • Run Pipeline: Runs the pipeline with standard options.

  • Run Pipeline with More Options: Determines whether to include Variables, Parameters, and Stages to Skip when the pipeline runs.

Pipeline ID

Determines the ID number of the pipeline to execute, as defined in Azure.

Repository Path

Defines the branch or ref to trigger the pipeline.

"refs/heads/release/MAIN

Variables

Defines the variables when the pipeline runs, in JSON format.

Copy
"variable1"
{
   "value": "var_value1"
},
"variable2"
{
   "value": "var_value2","isSecret": true
}
Parameters

Defines specific parameters to pass when the Pipeline runs, as pairs of name and value:

Format:{\"Param1\":\"value1\", \"Param2\": \"value2\"}

Stages to Skip

Defines an array of stage names to skip when the pipeline runs.

Show Build Logs

Determines whether to show additional logs.

Status Polling Frequency

Determines the number of seconds to wait before Control-M checks the status of the job or the job's output.

Default: 10

Failure tolerance

Determines the number of times to check the job status before the job ends Not OK.

Default: 3

Job:Jenkins

Jenkins enables you to automate building, testing, and deploying code for repetitive tasks in software deployment process.

To create a Jenkins job, see Creating a Job. For more information about this plug-in, see Control-M for Jenkins.

The following example shows how to define a Jenkins job:

Copy
"Jenkins_Job_2"
{
   "Type": "Job:Jenkins",
   "ConnectionProfile": "JENKINS_DEV_CI",
   "Pipeline Name": "Demo",
   "Add Branch Name": "checked",
   "Branch Name": "Development",
   "Add Parameters": "checked",   
   "Variables": [
   {
      "UCM-PARAMETERS_KEY_001": "param1"
   },
   {
      "UCM-PARAMETERS_VALUE_001": "value1"
   },
   {
      "UCM-PARAMETERS_KEY_002": "param2"
   },
   {
      "UCM-PARAMETERS_VALUE_002": "value2"
   }
   ],
   "Status Polling Frequency": "15",
   "Failure Tolerance": "15" 
}

The following table describes the Jenkins job parameters.

Attribute

Description

Connection Profile

Determines the Connection Profile:Jenkins name that connects to Jenkins.

Pipeline Name

Determines the name of Jenkins pipeline.

Add Parameters

Enables you to add parameters (variables) for further connection profile configuration.

Valid Values:

  • Checked

  • Unchecked

Default: Unchecked

Variables

Defines the dynamic parameters (variables) for the Jenkins job, in JSON format ( as key:value pairs), which control how the job executes.

Add Branch Name

Enables you to add a branch to a Jenkins Multibranch Pipeline.

Valid Values:

  • Checked

  • Unchecked

Default: Unchecked

Branch Name

Defines the branch name.

Status Polling Frequency

Determines the number of seconds to wait before Control-M checks the status of the job or the job's output.

Default: 20

Failure tolerance

Determines the number of times to check the job status before the job ends Not OK.

Default: 2