Using CI for continuous delivery Part 3

Post on 12-Feb-2017

15.976 views 1 download

Transcript of Using CI for continuous delivery Part 3

Bamboo

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

www.vishalbiyani.com

www.vishalbiyani.com

Bamboo has two separate Build and Deploy sections, sounds promising

eh?

Let’s get started with a “build”

pipeline..

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

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

www.vishalbiyani.com

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

called out! You can add more too..

www.vishalbiyani.com

Ran a build successfully!

www.vishalbiyani.com

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

future use

www.vishalbiyani.com

Overall view of past builds etc.

www.vishalbiyani.com

From a “build” pipeline you can

create a deployment

project/pipeline

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.

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

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

www.vishalbiyani.com

Final confirmation screen of release –

before you hit “Deploy!” Shows all relevant info

www.vishalbiyani.com

And here we have a successful

release!

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!

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!!

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!

www.vishalbiyani.com

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

those releases were deployed in

Dev!

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…

www.vishalbiyani.com

And Market has many more plugins – free and paid!

Plus you can write your own

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