Skip to content

Instantly share code, notes, and snippets.

@sgpopov
Created July 26, 2016 11:46
Show Gist options
  • Save sgpopov/c40e861c48d0abc311d77003f1a7389c to your computer and use it in GitHub Desktop.
Save sgpopov/c40e861c48d0abc311d77003f1a7389c to your computer and use it in GitHub Desktop.
Bamboo overview

First you need to get used with some Bamboo concepts (also see the official Atlassian Bamboo documentatiom

Build plans and artifacts

A build plan is the process that generates a Bamboo artifact. An artifact is something that can be deployed later, most of the time an executable or a jar file when you are talking about software that compiles, but for our sites this will simply be a compressed tarball file called site.tar.gz that contains the source code.

Build plans are composed of three pieces: Stages, Jobs and Tasks. If you look at the graph below it should be clear how those three fit inside each other:

bamboo-production-plan

  • Stages execute sequentially (e.g. a Testing Stage, a Package Building stage). If phase x fails, the build process will halt and phases after x will not be executed.
  • A stage consists of jobs that can be executed in parallel (e.g. multiple types of tests in a testing stages that can run at the same time)
  • A job consists of multiple tasks that run sequentially. The first task will always be doign a source code checkout and then the next tasks use this checked out code to do some magic.

Releases, deployment plans & environments

Now that we have a build plan that produces an artifact, our site.tar.gz file, we need to get that deployed to our servers. We can use releases and deployments plans to achieve that:

  • Releases are simply tagged successful build plans. (e.g. build #65 has been tagged as v.2.2.3)
  • A deployment plan is simply a list of environments.
  • An environment has a list of tasks that will be executed sequentally to deploy a release's artifact to the environment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment