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 vote

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 Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Posted Jun 12, 2018 in Bitbucket

Do you use any Atlassian products for your personal projects?

After spinning my wheels trying to get organized enough to write a book for National Novel Writing Month (NaNoWriMo) I took my affinity for Atlassian products from my work life and decided to tr...

23,299 views 26 12
Join discussion

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