
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.
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.
- First, install the Java Runtime Environment on the agent.
- Then, download the remote agent JAR file to a directory on the agent.
- 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 🙅🏻♀️