Integrating Atlassian Bamboo Pipelines with ReleaseIQ Platform

March 9, 2021
Product Updates
by  
Sriman Padmanaban
Blog-thumbnail

Introduction

Atlassian Bamboo is a popular option for many teams to perform CI/CD. It provides automated build, testing of software source code status and updates on successful/failed builds. Bamboo has two features: build and deploy. You can build via a Bamboo build plan and save the deliverables as an artifact and then the deploy project will take the deliverables and deploy to the environment as configured.

Here is the Bamboo Configuration hierarchy. It states the execution workflow of a Bamboo Build project Plan.

Atlassian Bamboo

Source: https://confluence.atlassian.com/bamboo/configuring-plans-289276853.html

Bamboo Integration with ReleaseIQ

The ReleaseIQ platform supports the integration of external tools to orchestrate the full process of CI, test and CD. Examples we already integrate with are Jenkins, CircleCI, Spinnaker and Bamboo. You can integrate Bamboo with ReleaseIQ and orchestrate the CI/CD process pipeline from developer commit, test, other custom steps through deploying the code into an environment such as staging or production. Below are the three key use cases of using ReleaseIQ with integration of Bamboo’s CI and CD plans along with other tool chains to bring end-to-end visibility and insights.

Use Case #1: Bamboo CI, QA Test and then ReleaseIQ CD

In this use case, Bamboo CI is used by the development team. CI functionality can be extended to QA and Ops teams using ReleaseIQ. ReleaseIQ provides the ability to introduce additional steps that can integrate both CI and CD pieces together. In the below example, Once CI is done, QA team can pick up the package, qualify it through additional tests & approve it for deployment.

Bamboo Pipeline 1

Use Case #2: Bamboo CI and then Spinnaker CD

In this use case, Bamboo CI is used by the development team, Spinnaker is used by the DevOps team for CD. ReleaseIQ provides the glue between CI and CD to bring end-to-end visibility. This is another great example of how two distinct tool chains with multiple teams can be integrated using the ReleaseIQ solution. There is no need for specific teams to change what works. Just input the external pipelines into ReleaseIQ and you get coordinated orchestration and instant visibility across those tools.

Bamboo - Spinnaker

Use Case #3: Using Bamboo & Jenkins CI, QA Test and then Deploy to Production through ReleaseIQ CD

In this use case, Bamboo & Jenkins CI are used by two different development teams and ReleaseIQ CD is used by the Ops team. ReleaseIQ provides end-to-end visibility by orchestrating the multiple tool chains. In the example below, Once CI is done, the QA team can pick up the package, qualify it through additional tests & approve it for deployment. This is a great example of how two distinct tool chains with multiple teams can be integrated using the ReleaseIQ solution.

Jenkins Bamboo ReleaseIQ Pipeline

Let’s now discuss how you can set up the ReleaseIQ Platform to allow you run the above use cases.

ReleaseIQ Settings

In ReleaseIQ you can configure the Bamboo tools in the Settings Screen. In the CI sections of Settings you configure Bamboo.

bamboo settings

Enter the name of the Bamboo tool, Choose the Tool Type as Bamboo, enter the Host, username and password credentials of your Bamboo setup.

After saving you can see your Bamboo tool on the right table with the status of integration connection in ReleaseIQ.

Embedding up a Bamboo Pipeline in the ReleaseIQ Composer

In the Pipeline screen you can embed your Bamboo Plan into a larger pipeline context. Configure the source code management tool of your choice and for the build choose External Pipeline. In the Tool Name dropdown you will see Bamboo which was configured in the Settings page previously.

In Project choose the Bamboo Project and in Plan choose the desired Project Plan.  You can see that all the Bamboo stages and jobs are represented in ReleaseIQ. Add the other steps needed for the pipeline like Deploy, Tests and approval from ReleaseIQ to provide the extended functionality.

Pipeline Composer

Running a Pipeline with an Embedded Bamboo Project and Plan

In the ReleaseIQ UI you can see the last execution of the pipeline. In the component filter choose the component and you will see the pipeline displayed graphically. All the stages and job information of the pipeline containing Bamboo will be displayed along with the status of execution.  If the pipeline has failed the Bamboo Job will be highlighted in red.

Provide Logs For The Complete Pipeline

You can explore the  logs of each job in the Bamboo pipeline.. When you select the completed (Success/Failed) Job of Bamboo you can see the full logs. Viewing the log, you can see it contains all the logs of the tasks that were configured inside the Bamboo job.

Bamboo Logs

Interested in more Atlassian Integrations?  We already integrate with Bitbucket and JIRA, stay tuned for future blogs on those topics.  

It is a common use case where an organization has multiple products and projects that use different CI/CD tools, such as Jenkins and Atlassian Bamboo. The DevOps goal is to orchestrate all these pipelines with a unified platform, gain visibility into the status of these pipelines and to provide dashboards and metrics to increase insights to resolve failures. All this can speed up release cadence and increase team productivity. Your teams get the value of visibility and dashboards across the different tool chains. No need to change what works today. The ReleaseIQ platform provides exactly those needs for developers, testers, product managers, DevOps and the leadership team.