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.
To deploy and run an Azure DevOps job, ensure that you have done the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the Azure DevOps plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
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 deploy and run an Jenkins job, ensure that you have done the following:
-
Configured the Control-M Application Integrator plug-in, as described in Application Integrator Configuration.
-
Installed the Jenkins plug-in with the provision image command (Control-M/EM 9.0.21 or higher) or the deploy jobtype command (Control-M/EM 9.0.20.200 or lower).
For more information, 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 |