CloudBees CD/RO simplified the process for using third-party tools for deployment by introducing Deploy and Undeploy options in pipeline task objects. When application and/or component versions are included in the task definition, the environment inventory, path to production, and deployment analytics data are updated when the task runs.
The CloudBees CD/RO third-party deployment feature allows you to execute deployments using your own deployment tools and still enjoy the benefits of CloudBees CD/RO application modeling. You can add your external deployment tool as a release or pipeline task.
Adding a third-party tool as a deployment or undeployment option.
-
Navigate to the release or pipeline that you want to add a deployment task using a third-party tool.
-
Select Add Task from the stage
three-dots menu.
-
Enter a task identifier in the New Task field, then click Select Task Type. The Task Type dialog displays.
-
Select one of the following task types:
-
CI Job
-
Procedure
-
Command
-
Plugin
-
-
Select Define.
-
Select or enter the required details for the selected task type.
-
Select Deploy task or Undeploy task.
-
Select the application project.
-
Select or add the application name.
Third-party applications shown or created here are assigned the External
application type. -
Select or add an environment name.
-
Enter the application and artifact version.
-
Select OK.
Example of Ansible third-party deployment
The information in this section contains an example of an Ansible deployment using a third-party tool.
Playbook prerequisites
-
Tomcat role installation
ansible-galaxy install robertdebock.tomcat
-
Install dependencies
ansible-galaxy install robertdebock.bootstrap ansible-galaxy install robertdebock.core_dependencies ansible-galaxy install robertdebock.java
Playbook
-
install-tomcat.yml
--- - name: converge hosts: 10.30.231.251 gather_facts: yes vars: tomcat_version: 7 tomcat_version7: '{{ tomcat_version7 }}' tomcat_instances: - name: "tomcat-7" roles: - role: robertdebock.tomcat
Example of a pipeline task for deploying Tomcat using Ansible
task 'Deploy Tomcat', {
actualParameter = [
'ansiblePlaybook': '/tmp/install-tomcat.yml', // Update this path to point to the location of install-tomcat.yaml in your environment.
'config': 'your-ansible-plugin-configuration',
'resultProperty': '/myJob/ansibleOutput',
'variables': '{"tomcat_servicename":"tomcat-7", "tomcat_installdir":"tomcat-7"}',
]
applicationName = 'Your-application-name' // The application will be created as an `external` application type if it does not already exist.
applicationProjectName = 'Your-project-name'
artifacts = '$[tomcat_artifact_name]'
environmentName = 'Your-environment-name'
environmentProjectName = 'Your-environment-project-name'
subTaskType = 'DEPLOY'
subpluginKey = 'EC-Ansible'
subprocedure = 'Run Playbook'
taskType = 'PLUGIN'
}