Does your organisation do agile? If so, you will need continuous integration. Atlassian Bamboo is a leading software product in this field, combining automated builds, tests and releases together in a single workflow. Beyond that, it integrates beautifully with the rest of the Atlassian suite to cover the whole software lifecycle. Note that Bamboo is an on-premise product. For a cloud CI/CD solution, see Atlassian Bitbucket Pipelines. For more information on how Atlassian Bamboo software works and why it’s useful, continue reading below.
What is Atlassian Bamboo software?
So, what is Atlassian Bamboo? Atlassian Bamboo is a continuous integration (CI) tool. CI is the process by which, when changes are made to an application’s source code, the application is automatically built, tested and deployed. With CI, changes can be tested within minutes of being made, even in a complex application with many servers and components.
Typically, a developer will make a change to a set of source code files and commit them to a source code repository. Atlassian Bamboo software monitors the repository and, when it detects the newly made changes, it downloads the source code files, compiles them, deploys them to an environment and runs automated tests on them. Within minutes of a code change being made, it is integrated into an executable copy of the application which can be viewed and tested.
Why is Atlassian Bamboo useful?
Atlassian Bamboo continuous integration automates the process of building, testing and deploying software, and transforming a manual process which typically takes hours into an automated process performed in minutes. This fits closely with the philosophy of agile development, which calls for working code to be delivered as early as possible, and for bugs to be detected as early as possible – “fail fast”.
As well as providing all the features of a CI application, Atlassian Bamboo software integrates closely with other elements of the Atlassian suite. It integrates with BitBucket to monitor source code repositories and with Jira to report progress on builds and deployment. The Jira integration provides a direct link between the project management tool and what is really going on in development. A project manager can see in Jira whether any given task has been built and deployed yet, and whether or not the build and deployment were successful. A tester can see in Jira whether a feature they have been testing has been deployed yet.
Key features of Atlassian Bamboo
Bamboo’s key features are:
- Automation – faster release management and software deployment
- Atlassian integration – Bamboo software is complementary with the rest of the Atlassian suite, communicating effectively with source code repositories such as Bitbucket server and Bitbucket, allowing developers to track issues in Jira
- Language-neutral – out-of-the-box compatibility with all programing languages
- Parallel builds – Bamboo continuous integration lets you run multiple builds at the same time
- Easy transition – conveniently import data from Jenkins
What does Atlassian Bamboo do?
Atlassian Bamboo software monitors a source code repository and builds and deploys the code stored in that repository automatically. The criteria for triggering a build can be specified, and can range from building on every code change, through building at set intervals (e.g. nightly), to building only on manual triggering. Atlassian Bamboo can interface with a range of different types of repository, including BitBucket, Git, GitHub, Mercurial, Subversion, CVS and Perforce. In addition, Bamboo add-ons exist to interface with repository types such as MS Team Foundation Server (TFS).
Bamboo is source code agnostic, meaning it can build any code provided the necessary compilers and build instructions are available and work. As well as building software, Bamboo can trigger unit tests and, after deployment, integration tests. It can also transmit the results of the build and the tests to Jira, so that project and test managers can quickly see the results.
Bamboo can delegate the actual compilation, testing and deployment to one or more remote agents. This gives Bamboo software the ability to run multiple compile, test and deployment jobs simultaneously. In larger projects this is very useful because compilation is processor intensive and large suites of automated tests may take several hours to run.
Atlassian Bamboo organises work into projects, which correspond to discrete development projects. Within each project is a number of plans. A plan is a collection of build, test and deployment actions with a single set of outputs. The criteria for triggering a build is set at plan level. Plans are further broken down into stages, jobs and tasks.
Atlassian Bamboo software also features a notification system that can send alerts to the user via their preferred means of communication: email, dashboard messages, RSS, IM, and others. This allows errors and issues to be quickly flagged and resolved.
Atlassian Bamboo support from Automation Consultants
Do you want to enhance the agility of your teams and save time with automated release processes? Contact one of our experts to talk about Atlassian Bamboo support, pricing, training or consultancy.