1 of 12

Bamboo :

Continuous Integration

by Chad Brantley

2 of 12

What is Atlassian Bamboo?

Its a continuous integration tool. It allows you to queue a list of actions to run against your code.

These actions allow you to build, run, test, and even deploy your product automatically.

3 of 12

When Does Bamboo Run?

Bamboo runs whenever a change is made to the specified repository - the user is able to commit the code and quickly begin the process of building, running, and testing without lifting a finger, allowing Bamboo to do all of that work.

As a Bamboo user, you can specify how often it is supposed to poll the repository for changes, or set a schedule for when to run.

4 of 12

Running Locally

One way to run everything is locally, on the Bamboo server.

This is for the cheapees!!!

5 of 12

Running on Atlassian Servers

Atlassian servers will run your routine for you, given that you have an Atlassian license with that option. Benefits include:

  • Running on multiple operating systems
    • Weeds out operating system specific problems
  • Distributing tests amongst many computers
    • Bamboo will break up your tests into subtests and have separate servers run each.
    • Get results faster.

6 of 12

Remote Agents

7 of 12

Git and Mercurial Features

For Git and Mercurial repositories, Bamboo automatically detects branches and runs the tests on them as well.

8 of 12

Real-time Notifications

Results of builds, tests, and deployments can be received via email, instant messenger, text messages, RSS feeds, or even inside your IDE.

9 of 12

Explore Changes and Their Context

10 of 12

JIRA/Communication

Bamboo integrates with JIRA, allowing users to make comments and issues from that interface.

Issues can reference specific routines in Bamboo regarding when the bug first appeared/when the bug was fixed, etc.

11 of 12

When to Use Atlassian Bamboo

The best time to use Atlassian Bamboo is when your project is BIG!

Some projects can take > 1 hour just to build, and tests even longer. Bamboo makes this easier by providing dedicated servers, and splitting up tests.

Ensures that tests are run as things are committed - if you break the build, you'll know.

12 of 12

Resources