Can I store Bamboo's plan configurations in version control?

I am interested to know if there is some way to version control the plan configurations in Bamboo. We use Subversion for the code, so having the configuration in that tool would also be nice. We would like to use this to see differences between different versions of plans and for ensuring that we can always go back to a working version, if something goes wrong when we make changes to plans. Also, as we make changes to our build scripts and plans we find that it is impossible to build old versions of the code, since the scripts and the Bamboo plans' calls to those scripts no longer match. Right now our "version control" of plans include making copies of a plan before modifying it and sometimes leaving behind old, disabled jobs that can be resurrected if the need occurs.

What I would like is basically to know of any files I should put into version control. Human-readability is a big plus, though according to documentation plan configurations seem to be stored in an SQL database. It would also be great if it is possible to revert a single plan configuration, without changing all the other ones.

Is there a solution to this or are there any totally different approaches I'm missing?

3 answers

That is still a pity after 3 years. Configuring bamboo for many microservices really becomes a bottleneck. Just compare it with maintaining a simple travis.yml file in a git repo.

1 votes

Not really. There's an unsupported REST endpoint that let's you export specific plans (but there's no import). Maybe plan audit logs would be enough for your use case?

Thank you for the quick reply! I could try using the REST endpoint, haven't really thought of that. It would be useful as a kind of version control of our plans. The audit logs are good, though we find that some things are not recorded, like adding or removing which artifacts are passed between jobs. This makes us somewhat reluctant to trust in other cases as we are not sure that everything will show up.

Is there an open feature request for this that I can vote for?   It seems like a fundamental requirement that your plans be under some kind of revision control.   We need to be able to build older releases of our code but as our plans change that won't be possible.   I have taken to archiving our plans by cloning them but its an ugly, highly manual process.

 

Other CI tools allow you to store your build plan as a file in your repo so that it gets versioned along with your source.  Checking out old code therefore automatically checks out the matching plan for it.  I would love to see something like this in Bamboo, otherwise I'm afraid we will be force to move to something like GitLab-CI

 

Check out Bamboo Specs, available in Bamboo 6.0 .

Suggest an answer

Log in or Join to answer
Community showcase
Piotr Plewa
Published Dec 27, 2017 in Bitbucket

Recipe: Deploying AWS Lambda functions with Bitbucket Pipelines

Bitbucket Pipelines helps me manage and automate a number of serverless deployments to AWS Lambda and this is how I do it. I'm building Node.js Lambda functions using node-lambda&nbsp...

651 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot