Integrating Atlassian Bitbucket Pipelines with Ansible Tower

Customers everywhere are using Ansible and Ansible Tower to deliver the promise of DevOps. Atlassian Bitbucket can be coupled with Ansible and Ansible Tower to create an application workflow. In this example workflow, a developer makes an update to their application, checks the code into source control, a continuous integration test passes, and it is automatically deployed by an orchestration system to the applicable systems.

One of the most popular requests we hear for Tower is to integrate with the Atlassian tool suite. Atlassian provides tools that allow developers to build many components of a CI/CD pipeline. From Bitbucket for code review, to JIRA as a ticketing system, and finally Hipchat to bring all of the teams involved in the pipeline to collaborate.

And, with Atlassian’s recent announcement of Bitbucket Pipelines, we are excited to demonstrate how Tower can now integrate these tools into a complete CI/CD pipeline environment.

Using our example workflow from above, let’s look at what this process looks like today– without this integration. First, a developer checks in some code to Bitbucket Cloud, and a Pipelines job can build and test an artifact. Next, the developer would need to find the correct build, download it, and then work to deploy it into their production environment– again hoping that they grabbed the latest and correctly tested build.

Now, using our same example, a developer checks code into Bitbucket Cloud, and then a Pipelines build tests the code. After the code is verified, Pipelines calls a deployment Job in Tower to deploy the now-built artifact. Tower then notifies Pipelines of the deployment status– i.e. was it a success, or a failure? The described workflow is fully automated with Ansible and Tower, which in this case, act like glue to connect and automate all of the pieces.

This integration eliminates the human error associated in that workflow, replacing it instead with a fully automated workflow.  Ansible and Tower are aware of the workflow instantiated within Bitbucket, and the data provided to Tower allows for Ansible to download the exact artifact, and to deploy it in a repeatable manner.  With their automated processes, the developer rapidly makes changes, and ensures there is consistency from development environments all the way to production.

atlassian_bitbucket_blog.png
We’re showing this integration as an example of the part that Tower plays in connecting your traditional workflows. To do this, we used the Tower-CLI (github.com/ansible/tower-cli) tool to issue commands that pointed at specific Tower Job Templates. It’s really just a start to show what’s possible.

The Tower API and CLI make it easy to integrate Tower into nearly any process. While your team uses Ansible to automate their repetitive work, you can use Tower to make those automations available to other teams, tools, and workflows.

We want to hear how Ansible Tower automates your workflows!

For more information about this integration see: ansible.com/atlassian/bitbucket-pipelines

For more information about Ansible + Atlassian see: ansible.com/atlassian