Best practices
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 in troubleshooting
- separation of work - you can use branches to prepare new versions of your environment
- keep 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
- know which repository manages given plan in Bamboo.
One of the easy ways is to 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
So apply all best development practices when maintaining it. Avoid copy-and-paste, extract common methods or components, use parameterisation, modularisation.
Go back: Bamboo Specs