4.25 out of 5
4.25
316 reviews on Udemy

Atlassian Bamboo from Beginner to Advanced!

Continuous Integration and Delivery (CI/CD) with Bamboo for Devops and Developers
Instructor:
Aref K.
2,095 students enrolled
English [Auto-generated]
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)

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!  

Introduction

1
Introduction

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.

2
What is Bamboo and what is Continuous Integration

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

3
Installing Bamboo

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.

Build Agents

1
Build Agents Part 1

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.

2
Build Agents Part 2

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.

3
Build Agents Part 3

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

4
Build Agent Capabilities

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.

5
Elastic Build Agents Part 1

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.

6
Elastic Build Agents Part 2

We continue on setting up Elastic Build Agents

7
Elastic Build Agents Part 3

Last part on setting up Elastic Build Agents

8
Elastic Build Agents using a custom AMI. Spot Instances and Scheduled Agents

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.

Build Plans. Building and Packaging your code

1
Project structures in Bamboo

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.

2
Creating a project and connecting to source control

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!

3
Adding jobs and tasks to your plan

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

4
Running your build 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.

5
Parameterisation and Variables Part 1

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.

6
Parameterization and Variables Part 2

Continue learning about parametrisation and variables.

7
Build Triggers

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.

8
Branch Plans

"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" .

Code Quality!

1
Running Unit Tests

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.

2
Code Inspection

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!

Working with Artifacts

1
Creating Artefacts

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

2
Compressing and downloading the 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.

Continuous Delivery

1
Deployment Projects

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.

2
Deploying the artefacts with AWS CodeDeploy Part 1

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.

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

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.

6
Deploying the artefacts with AWS CodeDeploy Part 5
7
Configuring applications per deployment environment

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.

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

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.

9
Triggering Deployments

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.

Administering Bamboo

1
Setting the permissions of build and deployment projects

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

2
Sending out notifications and configuring SMTP in Bamboo

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

3
Users, Groups, and Permissions

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.

4
Thank You!
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3
4.3 out of 5
316 Ratings

Detailed Rating

Stars 5
131
Stars 4
123
Stars 3
50
Stars 2
9
Stars 1
4
e2428dc4b725c83ff998465c399836fb
30-Day Money-Back Guarantee

Includes

5 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion