21
Bamboo https://www.atlassian.com/so ftware/bamboo www.vishalbiyani.com

Using CI for continuous delivery Part 3

Embed Size (px)

Citation preview

Page 1: Using CI for continuous delivery Part 3

Bamboo

https://www.atlassian.com/software/bamboo

www.vishalbiyani.com

Page 2: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Bamboo has two separate Build and Deploy sections, sounds promising

eh?

Let’s get started with a “build”

pipeline..

Page 3: Using CI for continuous delivery Part 3

www.vishalbiyani.com

For a “Build plan” we can configure

triggers, branches, dependencies etc.

Within “Build plan”- there are

stages, which can have jobs and jobs can have multiple

tasks

Page 4: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Standard set of tasks available in

Bamboo

We have sequenced some tasks to get a job done in first stage

of pipeline

Hierarchy in Bamboo

Source: Bamboo Website

Page 5: Using CI for continuous delivery Part 3

www.vishalbiyani.com

For this job-requirements are JDK and Maven –which are clearly

called out! You can add more too..

Page 6: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Ran a build successfully!

Page 7: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Result of build can be associated with an “artifact” for

future use

Page 8: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Overall view of past builds etc.

Page 9: Using CI for continuous delivery Part 3

www.vishalbiyani.com

From a “build” pipeline you can

create a deployment

project/pipeline

Page 10: Using CI for continuous delivery Part 3

www.vishalbiyani.com

For deployment project you can configure

versioning (Release 1-n), permissions (Who can deploy?) and the target

environment

As we added tasks previously – we

can add tasks like “deploy to tomcat”

etc.

Page 11: Using CI for continuous delivery Part 3

www.vishalbiyani.com

So we have our “dev” deploy pipeline- set to automatically trigger by build pipeline (See Triggers-1?) and deployment

pipeline defined. The QA deploy pipeline has a manual gate which

we will see later

Page 12: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Let’s create a release from the

Dev pipeline template and run it.

When the deploy pipeline is triggered by build – then a release is created

automatically

Page 13: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Final confirmation screen of release –

before you hit “Deploy!” Shows all relevant info

Page 14: Using CI for continuous delivery Part 3

www.vishalbiyani.com

And here we have a successful

release!

Page 15: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Release history for a given release including which branch it came

from

Notice some build were kicked off

manually but this one was auto triggered by

build job!

Page 16: Using CI for continuous delivery Part 3

www.vishalbiyani.com

For release-9 – it is in Dev but was never deployed in QA and QA is at

Release-6 currently

All deployment pipelines overview!

Valuable info isn’t it? Moreover you

see commits tested by release-

9!!

Page 17: Using CI for continuous delivery Part 3

www.vishalbiyani.com

And you can always compare what is “delta”

between releases – without having to go through all

commits!!

When we deploy R-9 to QA – it

shows all changes since last release

We loved overall product – it’s

understanding of semantics and right information at right

place!

Page 18: Using CI for continuous delivery Part 3

www.vishalbiyani.com

So we have jumped from R-6 to R-9 in QA while

those releases were deployed in

Dev!

Page 19: Using CI for continuous delivery Part 3

www.vishalbiyani.com

Fine grained permissions as to who can access, create and deploy

plans!

Developer can build and deploy in

Dev, Lead can deploy in QA and

so on…

Page 20: Using CI for continuous delivery Part 3

www.vishalbiyani.com

And Market has many more plugins – free and paid!

Plus you can write your own

Page 21: Using CI for continuous delivery Part 3

Bamboo- Concluding thoughts

• Excellent support for CI as well CD semantics

• Simple to use, valuable information at each stage. Overall traceability is excellent

• Plenty of actions available OOTB and more can be added

• Complex workflow support was excellent in “Build pipeline” but not so much in “Deploy pipelines”

www.vishalbiyani.com