Playing around Bamboo CI

Aya Akl
3 min readMar 29, 2019

--

Through my interesting testing journey, I get to learn many interesting things. Today I want to share my experience with Bamboo CI and share little tips and tricks I learnt along the way of using it.

But first, what is Bamboo? It is a Continuous Integration and Deployment Build Server by Atlassian.

Understanding the Bamboo CI Server

Getting started with Bamboo

And here are my findings 💁🏻‍♀️

  • Dedicate CI agent on bamboo.
  • Add custom capabilities to CI agents.
  • Working with remote agent on Bamboo.
  • Setup plan settings to run manually.
  • Setup only branch settings to not to send notifications.

So Let’s take it one by one 🤓

Dedicate CI agents:

You can easily dedicate some CI agent to your CI plan, for example if you want to differentiate between Android & iOS CI agents.

Settings > Agents > Find your agent and click on it > Click on Dedicate Agent tab option > Choose the plan you want

As per bamboo tips: You can dedicate this agent to run only specific build projects (and/or their plans and jobs) and deployment projects (and/or their environments).

Add custom capabilities to CI agents:

What if you want your job to run on certain one CI agent and do more selection after dedicating a CI agent like the previous point? it is applicable by just adding a custom capability that will differentiate and make your agent unique to this job.

P.S: when you are inside your job in any plan, you would see how many agents can do this job ;)

Settings > Agents > Find your agent and click on it > Under Agent-specific capabilities, find Custom> Click Add Custom

As per bamboo tips: ‘custom’ capabilities are key-value pairs that define particular characteristics of an agent (e.g. ‘operating.system=Windowsxp’, ‘fast.Builds=true’). For an agent to be able to build a job, both the ‘key’ and ‘value’ must match the jobs’s requirements.

Working with remote agent on Bamboo:

This point was so interesting to me because I had to setup Xcode 10 on a CI agent and I wanted my Tests to run against that remote agent.

  1. First, install the Java Runtime Environment on the agent.
  2. Then, download the remote agent JAR file to a directory on the agent.
  3. And finally, just run the remote agent by executing the command line.
java -jar atlassian-bamboo-agent-installer-X.X-SNAPSHOT.jar http://bamboo-host-server:8085/bamboo/agentServer/

P.S: Important note is to first check that your Bamboo server has “Enable Remote Agent Support” enabled ;)

Please follow this Bamboo documentation link for more info.

Setup plan settings to run manually:

Here I was trying out some of my tests and I didn’t want the plan to run if any branch in repository is created:

Go to your plan > Click on Actions> Go to Branches tab > Under Create plan branch option > Tick Manually

P.S: of course you can configure your plan on your choice in any other option ;)

Setup sending notifications on your branch settings only:

That was a funny story to tell, I didn’t have the knowledge of how notifications were working and I was trying out my tests and I knew it would fail and then a developer came to me that we got notifications for a failing build and I was like what what what :D but without that I would not learn about how to control these branch notifications

Go to your plan > Click on Actions> Find your branch and click on it > Click on Notifications tab > Tick any option you want to have

For me then I chose Notifications should not be sent for this branch.

And that’s was it 🙅🏻‍♀️

HAPPY TESTING!

Sign up to discover human stories that deepen your understanding of the world.

--

--

Aya Akl
Aya Akl

Written by Aya Akl

Author @QualityNexus || #Quality is my thing - Passionate human being who wants to change the world!!

No responses yet

Write a response