This is part 3 of "Using CI for continuous delivery" in which we test drive Bamboo. More details can be found at www.vishalbiyani.com/ci-continuous-delivery
2. Bamboo has two
separate Build and
Deploy sections,
sounds promising
eh?
Let’s get started
with a “build”
pipeline..
www.vishalbiyani.com
3. 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
4. Standard set of
tasks available in
Bamboo
Hierarchy in Bamboo
Source: Bamboo Website
We have
sequenced some
tasks to get a job
done in first stage
of pipeline
www.vishalbiyani.com
5. For this jobrequirements are
JDK and Maven –
which are clearly
called out! You can
add more too..
www.vishalbiyani.com
10. 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
11. 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
12. 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
14. And here we have
a successful
release!
www.vishalbiyani.com
15. 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
16. All deployment
pipelines overview!
For release-9 – it
is in Dev but was
never deployed in
QA and QA is at
Release-6
currently
Valuable info isn’t
it? Moreover you
see commits
tested by release9!!
www.vishalbiyani.com
17. 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!
And you can
always compare
what is “delta”
between releases
– without having
to go through all
commits!!
www.vishalbiyani.com
18. So we have
jumped from R-6
to R-9 in QA while
those releases
were deployed in
Dev!
www.vishalbiyani.com
19. Fine grained
permissions as to
who can access,
create and deploy
plans!
www.vishalbiyani.com
Developer can
build and deploy in
Dev, Lead can
deploy in QA and
so on…
20. And Market has
many more plugins
– free and paid!
Plus you can write
your own
www.vishalbiyani.com
21. 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