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:
"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:
|
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.
|
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
|
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:
"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:
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:
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 |