Follow this step-by-step Bamboo CI/CD tutorial
Software development organizations that harness the power of CI/CD can reduce delays to deployment. CI/CD can be challenging technically, but tools such as Atlassian's Bamboo automate the key stages of software development and delivery. Once code is built, Bamboo's continuous deployment functionality ships software quickly and efficiently.
Atlassian's Bamboo product provides an automated and reliable software delivery process that ensures build and test processes meet business needs and user expectations for finished software. It provides:
- a fully integrated build and artifact management system;
- management features that help you define builds based on requirements and targets; and
- automated deployment to any server or cloud application host.
In this Bamboo CI/CD tutorial, we explain how to establish a pipeline, as well as connect repositories, triggers and notifications to it.
How to set up a Bamboo CI/CD pipeline
With CI/CD, developers can push code to a centralized storage location, called a repository, then build artifacts or binaries out of those repositories. From there, they can continuously deploy that code to environments.
To follow along with this Bamboo CI/CD tutorial, create a new project, which we call TechSnips1. Then give it a project key and a description.
With the project initialized, define a plan for it. In Bamboo, plans determine how the CI/CD processes work for the project, in one location. We name the plan DevPlan1, and once again give it a key and a description.
As part of the configuration process, determine who can access the plan. Then, either clone a previous repo or link to a new one. Bamboo supports repo platform options like Atlassian Bitbucket, Concurrent Versions System, Git and GitHub. For the new repo, enter the display name, then select a repo and branch. In this CI/CD tutorial, the display name is TerraformCode.
Next, configure the job for the plan. You can choose to run the build on a Bamboo VM or in a Docker container.
Further define the plan as needed. Bamboo has tabbed options for:
- Audit logs
Use Triggers to set conditions that start a new code build. For example, you can automatically trigger a build every time a developer pushes code to a repo or submits a pull request. Examples of triggers include: remote triggers, repository polling, scheduled and single daily builds. In this CI/CD tutorial, we chose the last option: build at a specific time.
Branches enable Bamboo users to plan how to run builds across different branches with a single configuration. Use this feature to establish multistage branching or multibranch pipelines.
The Dependencies tab displays permissions. Use it to see and adjust who has access to view, edit, build or clone, as well as set admin status.
Notifications calls up an instant messaging server to send alerts for any criteria the Bamboo user wants. Define the host, port, username, password and resource for the notification, then specify where and how it should be delivered.
You can also define Variables for any unique conditions, such as SSH key-value pairs.
Once you set desired conditions in these tabs, enable and run the plan via drop-down menus in the top-left portion of the screen. The build then enters the queue and runs.
Bamboo confirms a successful run, then displays information pertaining to the build. The user can view a summary, tests, commits, artifacts, logs and metadata. Watch the tutorial to see what the build log looks like, and how you can make use of it.
Bamboo also shows plan statistics, including successful andfailing builds, and how many build have been created, either over a specific range of time or overall.
Benefits of Bamboo
Bamboo offers value to CI/CD adopters of all sizes, from large enterprises to startup teams. Bamboo users can optimize build performance for the entire CI/CD process at a team- or organization-wide level.
It supports iterative DevOps. Users can continuously deploy updates as often as they need -- once, twice or 60 times per day. Product managers can also implement release management within pipelines.
Bamboo also provides helpful reporting features, including status updates for deployments and what did or didn't succeed. Users can also receive reports on the health of an environment.
Atlassian's 30-day Bamboo free trial allows the user to spin up a Bamboo server in a development environment. You can sample all of Bamboo's features and test any integration or release process.