Atlassian Bamboo from Beginner to Advanced!
4.2 (679 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,601 students enrolled

Atlassian Bamboo from Beginner to Advanced!

Continuous Integration and Delivery (CI/CD) with Bamboo for Devops and Developers
4.2 (677 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,600 students enrolled
Created by Aref K.
Last updated 6/2018
English [Auto]
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5.5 hours on-demand video
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn the correct way of implementing an efficient CI/CD system
  • Installing Bamboo and setting up Local or Static Build Agents
  • Configure Elastic Build Agents on Amazon Web Services
  • Creating Projects, Jobs and Tasks
  • Using Parallelism to build and packge your code faster
  • Make your build configurations Dynamic using parameters and variables
  • Deploy your software to the cloud e.g. using AWS Code Deploy
  • Produce environment-specific files such as producing application configuration files for your target environment
  • Setting up notifications and alerts
  • Administering Bamboo (e.g. users, groups, permissions etc)
Course content
Expand all 36 lectures 05:25:11
+ Introduction
3 lectures 39:01

Welcome to Atlassian Bamboo!  In this introduction lecture we will learn about the fundamentals of Bamboo, and the structure of projects in Bamboo including projects, stages, jobs and tasks.

Preview 02:15

This lecture is about what problems Bamboo can solve for a development team, and what is the best deployment model for Bamboo

Preview 08:25

All the details about installation of Bamboo is here. Since Bamboo is a Java application as long as you have Java Runtime (JVM) installed on your favourite operating system you can install Bamboo.

Installing Bamboo
+ Build Agents
8 lectures 59:28

Build Agent is a computer that builds your project and run your unit tests. There are several types of Build Agents that you can use in Bamboo. Learn these different types of Build Agents.

Build Agents Part 1

In this lecture we work with AWS a bit! That is because we use a Domain Name so that we can find our servers and build agents easier. Also when you setup Bamboo for your business you most likely will set it up on the cloud. AWS is a good choice of the cloud as it gives you both the Servers and the Databases in a managed manner.

Build Agents Part 2

Remote build agents are the most common type of build agents. In this lecture we will see how they are setup.

Build Agents Part 3

Build agents cannot do much themselves unless you add "capabilities" to them. Capabilities are merely executable files that can do things like compiling code, running unit tests, compressing files etc.

Build Agent Capabilities

If you use AWS then Elastic Build Agents must be very interesting to you as they can save you $$$ ! Elastic build agents are created automatically when you actually need them. They then get terminated with you don't need them. So you only pay for what you use and that will save you money.

Elastic Build Agents Part 1

We continue on setting up Elastic Build Agents

Elastic Build Agents Part 2

Last part on setting up Elastic Build Agents

Elastic Build Agents Part 3

To reduce the cost even further you can run your Elastic Build agents on Spot Instances, and to make sure at the busy times you have enough build agents you can schedule the launch of build agent servers.

Elastic Build Agents using a custom AMI. Spot Instances and Scheduled Agents
+ Build Plans. Building and Packaging your code
8 lectures 53:54

Each application in Bamboo will have a Project. Projects have a rather complex structure in Bamboo which makes it very flexible and powerful. Projects are made of Stages, Jobs and Tasks. Some of these steps can execute in parallel whilst some others are executed sequentially only. In this lecture you will learn how you can leverage the power of this flexible project structure to build and test your application fast.

Project structures in Bamboo

Now that you have your projects ready it is time to get your source control from your Source Control system such as GitHub or BitBucket!

Creating a project and connecting to source control

In this topic we work on a project which we cloned from GitHub and we set up jobs and tasks for it.

Adding jobs and tasks to your plan

So now that the project is ready and the source code has been cloned, we compile our code. We will see how we can setup the required capacities to build and package our project.

Preview 04:42

Reuse is almost always a good technique to reduce work and avoid mistakes! Bamboo allows us to use variables so that we will not have to hard-code everything. And that will enable us to reuse the projects. In this lecture we will learn about the variables in Bamboo.

Parameterisation and Variables Part 1

Continue learning about parametrisation and variables.

Parameterization and Variables Part 2

Triggering Builds manually is one way of building and packaging our projects but it will be more efficient if we can build our code based on certain vents such as when a developer commits a change to the source control system or on a certain time of the day. This happens through Build Triggers which we learn about in this topic.

Build Triggers

"Branching" is a good feature in Git and many other source control systems such as Subversion (SVN). Feature branches let developers work on different features in separation and so they may need different build plans which suit their feature branch. In this topic we will learn about one of the really powerful features of Bamboo which is called "Branch Plans" .

Branch Plans
+ Code Quality!
2 lectures 44:31

A CI/CD system without the ability of running unit tests is not complete and Bamboo is no exception! In this topic it is discussed that how you can run Unit Tests.

Running Unit Tests

If you are a DotNet or Java developer then this lecture must be very interesting to you! Code Inspection is a great way of making sure that when developers check-in their code, or when someone merges a pull request, their code meet a really good quality!

Code Inspection
+ Working with Artifacts
2 lectures 19:14

The output of each build project is an Artefact! This lecture will teach you that how you produce an artefact.

Creating Artefacts

Artefacts are stored on the server but it is not ideal. So in this topic we will learn how we can compress all the files in a given artefact and download them.

Compressing and downloading the Artefacts
+ Continuous Delivery
9 lectures 01:17:15

Continuous Delivery is a key part of an efficient CI/CD system. In this lecture I will show you how you can deploy your artefacts.

Deployment Projects

Many developers use AWS to host their web applications and server applications. In this lecture we will see how AWS Code Deploy can be used for a seamless deployment.

Deploying the artefacts with AWS CodeDeploy Part 1
Deploying the artifacts with AWS CodeDeploy Part 2
Deploying the artefacts with AWS CodeDeploy Part 3

AWS CodeDeploy service needs CodeDeploy Agent, which is a Windows  service (because we use a Windows server), in order to deploy the artifact on the target server. In this topic we will install and configure the CodeDeploy agent.

Deploying the artifacts with AWS CodeDeploy Part 4
Deploying the artefacts with AWS CodeDeploy Part 5

When you deploy your application to different environments, it will need a different configuration for each deployment. For example if your application connects to databases, the connection string to the database will change based on the environment. We will see how you can choose the right configuration files for your application.

Configuring applications per deployment environment

Are you an ASP .NET developer? Then you must know how painful it is to transform your web dot config files! This lecture is for you so you see how you can transform your web dot config files and pick the right one up at the time of deployment.

If you are not a DotNet developer you can skip this lecture.

Web.config transformation using Bamboo and MSBuild (.NET)

Not only you can automatically build your code based on build triggers but also you can deploy your artefacts automatically based on certain triggers! This is great to have a one-click build and deploy kind of CI/CD system.

Triggering Deployments
+ Administering Bamboo
4 lectures 31:48

At the end of this lecture you will learn about the various permissions and access levels you can grant to users.

Setting the permissions of build and deployment projects

If you need to let certain users know about the various events that happen in Bamboo, such as failing builds, then you will find this topic very useful. Once you finish this lecture you will be able to define alerts and notifications in Bamboo and integrate them with various channels such as Slack

Sending out notifications and configuring SMTP in Bamboo

If you are the administrator in Bamboo you can add more users and groups so that you can grant access to other developers in your team. Then you can control what access rights each individual person or a group of people can have.

Users, Groups, and Permissions
Thank You!
  • Some experience as a Developer or as a DevOps Engineer
  • Passion and curiosity for learning

Learn the important features of Atlassian Bamboo - a key tool used by software developers!

Atlassian Bamboo is one of the leading Continuous Integration and Delivery tools essential for engineers to know. This course provides useful information and skill-based learning for key features of this technology.

Atlassian Bamboo is particularly preferred when teams use a variety of programming languages and frameworks, e.g. .NET, Java, PHP, Python, etc.

In this course, I will teach you:

  • How an efficient CI/CD system is implemented;

  • How a software development team (including developers, testers and DevOps engineers) can use various features of Bamboo to quickly build, package and deploy their software product.

No pre-requisite knowledge is required to complete this course, but a positive attitude and a willingness to learn is a must!

Questions are always welcome from students and can be asked in the Q&A section of the course. I endeavour to respond to these quickly so I can create an engaging learning environment for my students and share my experience gained from over 20 years in the software development industry.

I look forward to seeing you in the course!  

Who this course is for:
  • DevOps Engineers
  • Developers
  • Technical Managers
  • Solution Architects
  • University Students of IT and/or Computer Science