Bamboo Continuous Integration For Devops Developers

Continuous Integration and Delivery (CI/CD) with Bamboo for Devops and Developers

Last updated 2022-01-10 | 4.3

- 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

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)

* Requirements

* Some experience as a Developer or as a DevOps Engineer
* Passion and curiosity for learning

Description

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

Course content

7 sections • 36 lectures

Introduction Preview 02:15

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.

What is Bamboo and what is Continuous Integration Preview 08:25

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

Installing Bamboo Preview 28:21

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 Part 1 Preview 04:48

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 2 Preview 08:35

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 3 Preview 06:40

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

Build Agent Capabilities Preview 12:35

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.

Elastic Build Agents Part 1 Preview 03:05

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 2 Preview 07:04

We continue on setting up Elastic Build Agents

Elastic Build Agents Part 3 Preview 05:00

Last part on setting up Elastic Build Agents

Elastic Build Agents using a custom AMI. Spot Instances and Scheduled Agents Preview 11:41

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.

Project structures in Bamboo Preview 04:07

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.

Creating a project and connecting to source control Preview 08:11

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!

Adding jobs and tasks to your plan Preview 07:25

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

Running your build plan Preview 04:42

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.

Parameterisation and Variables Part 1 Preview 05:56

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.

Parameterization and Variables Part 2 Preview 09:09

Continue learning about parametrisation and variables.

Build Triggers Preview 05:35

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.

Branch Plans Preview 08:49

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

Running Unit Tests Preview 17:50

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.

Code Inspection Preview 26:41

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!

Creating Artefacts Preview 12:19

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

Compressing and downloading the Artefacts Preview 06:55

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.

Deployment Projects Preview 05:26

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.

Deploying the artefacts with AWS CodeDeploy Part 1 Preview 03:41

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 artifacts with AWS CodeDeploy Part 2 Preview 02:57

Deploying the artefacts with AWS CodeDeploy Part 3 Preview 07:49

Deploying the artifacts with AWS CodeDeploy Part 4 Preview 05:30

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 artefacts with AWS CodeDeploy Part 5 Preview 13:58

Configuring applications per deployment environment Preview 06:06

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.

Web.config transformation using Bamboo and MSBuild (.NET) Preview 25:29

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.

Triggering Deployments Preview 06:19

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.

Setting the permissions of build and deployment projects Preview 09:44

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

Sending out notifications and configuring SMTP in Bamboo Preview 13:51

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

Users, Groups, and Permissions Preview 07:32

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.

Thank You Preview 00:41