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.
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.
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.
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.
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.
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.
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.
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.