Atlassian Bamboo Tutorials
Welcome to Atlassian Bamboo Tutorials. The objective of these tutorials is to provide in depth understand of Atlassian Bamboo.
In addition to free Atlassian Bamboo Tutorials, we will cover common interview questions, issues and how to’s of Atlassian Bamboo.
Bamboo is a continuous integration server from Atlassian, the makers of JIRA, Confluence and Crowd. Bamboo is free for open-source projects. Commercial organizations are charged based on the number of build agents needed.
Bamboo is a continuous integration (CI) server that can be used to automate the release management for a software application, creating a continuous delivery pipeline.
Atlassian Bamboo is a continuous integration (CI) and deployment server. Bamboo assists software development teams by providing:
-automated building and testing of software source-code status.
-updates on successful and failed builds.
-reporting tools for statistical analysis.
Please see the following pages for information about getting started with Bamboo:
-Bamboo best practice - system requirements
CI Server - a conceptual overview of using Bamboo for continuous integration (CI).
Using Atlassian Bamboo to run Semmle
You can use Atlassian Bamboo to run Semmle analysis as part of your Continuous Integration (CI) builds in one of two ways:
-Use the Script task, available in a default installation of Bamboo, to define calls to Semmle Core to perform the analysis required.
-Install the Semmle Analysis plug-in for Bamboo and use this to create snapshots, generate Semmle dashboards for deployment to a web server as Project Insight, set up integration with JIRA and publication of data to Enterprise Insight.
See the standard installation and configuration commands for Semmle Core for details of how to define the command-line calls required to perform Semmle analysis. This topic describes how you can use the Semmle Analysis plug-in for Atlassian Bamboo to simplify the process of defining Semmle analysis for continuous integration builds that are administered using Atlassian Bamboo. The key features of the plug-in are:
-The plug-in can be installed using the standard Bamboo add-on administration screens.
-The plug-in adds options to enable you to configure Semmle -analysis for the code bases built by a Bamboo task (static languages) or checked out by a Bamboo task (dynamic languages).
-The additional options are presented as a seamless part of the Bamboo interface.
Atlassian Bamboo is a continuous integration (CI) server that can be used to automate the testing and release management for a software application. Don’t trust in new code being tested manually, make sure it is tested automatically and immediately, with the result that defects can be identified and corrected as soon as possible.
Continuous integration is a software development methodology in which tests are performed, or triggered, whenever new code is added to a larger code base, to ensure that it integrates well into the existing code.
Bamboo does exactly this - tests every check-in and change to the code continuously. This guarantees direct and fast feedback on the quality of changes, via email, IM, RSS, IDE or Wallboards. Failure and change summaries point you and your team in the right direction with detailed analysis of test results, build logs, and source code diffs.
With deficiencies being discovered early on in development, the defects are usually smaller, less complex and therefore easier to resolve.
Release management describes the steps that are traditionally performed to release a software application, including building and functional testing, tagging releases, assigning versions, and deploying and activating the new version in production. Bamboo's unique concept of Stages makes it easy to construct a build pipeline that starts in your source control and extends out to production. Bamboo can be integrated with JIRA to create a complete release workflow.
Benefits of Bamboo:
If you are a solo developer, using Bamboo will give you:
-An automated, and reliable, build and test process, leaving you free to code more.
-Sway to manage builds that have different requirements or targets.
-Automatic deployment to a server, such as the App Store or the Android Market.
If you work in a team, then as well as the above advantages, using Bamboo also means that:
-Your build and test process is not dependent on a specific local environment.
-Builds and integration tests are triggered automatically as soon as a developer commits code (continuous integration).
If you work on a large, complex application, in addition to the advantages listed above, using Bamboo means that:
-We can optimize build performance through parallelism.
-We can leverage elastic resources.
-We can deploy continuously, for example to user acceptance testing (UAT).
-We can implement release management.