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' }