There's a couple of things that we find important.
Keep your project in version control system
Keeping your code in VCS, such as Git or Mercurial will give you a lot of benefits, such as:
- traceability - you can track who, when and why changed your build environment
- comparison - you can easily compare two different configurations to analyse what changed, which helps when troubleshooting
- separation of work - you can use branches to prepare new versions of your environment
- remaining in sync with the product.
Keep information from which URL a given plan was created
With hundreds of plans and separate configuration projects it's very valuable to know which plan is being managed by CASC and which via UI, and which repository manages a given plan in Bamboo.
To stay on top of things, use plan description field for this purpose, e.g.:
"This plan is being managed via configuration-as-code. Modify <vcs url> project to update the plan."
Keep in mind that your plan configuration is source code as any other
Apply all best development practices when maintaining it. Avoid copy-and-paste, extract common methods or components, use parameterization, modularization.
Go back: Bamboo Specs