using ci for continuous delivery part 3
TRANSCRIPT
![Page 1: Using CI for continuous delivery Part 3](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/1.jpg)
Bamboo
https://www.atlassian.com/software/bamboo
www.vishalbiyani.com
![Page 2: Using CI for continuous delivery Part 3](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/6.jpg)
www.vishalbiyani.com
Ran a build successfully!
![Page 7: Using CI for continuous delivery Part 3](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/7.jpg)
www.vishalbiyani.com
Result of build can be associated with an “artifact” for
future use
![Page 8: Using CI for continuous delivery Part 3](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/8.jpg)
www.vishalbiyani.com
Overall view of past builds etc.
![Page 9: Using CI for continuous delivery Part 3](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/9.jpg)
www.vishalbiyani.com
From a “build” pipeline you can
create a deployment
project/pipeline
![Page 10: Using CI for continuous delivery Part 3](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/14.jpg)
www.vishalbiyani.com
And here we have a successful
release!
![Page 15: Using CI for continuous delivery Part 3](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022030212/58a008e71a28abd40b8b6593/html5/thumbnails/21.jpg)
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