Changing build chains while using Versioned Setting

We have a build chain setup for our project using Artifact and Snapshot Dependencies. We also use Versioned Settings stored in our product's repository so we can have branch specific settings (see this TeamCity blog post). We use branches to build old versions of our product and the .teamcity folder in each branch ensures old versions aren't built different if we make changes to the latest product version. With this system we freely make changes to the settings of the build chain without affecting old versions.

However, it is not possible to change the build chain itself. For example, we cannot add a new build configuration to the build chain, if we do we get the following error when building old branches: Failed to load build configuration settings from VCS. This blog post mentions this limitation and it is understandable, but we would like to know how to handle this situation.

  1. How can we make sure old branches are always build-able even if we change the build chain? Let's say we only ever add build configurations, never remove or move them. I suppose that even if we only ever add new configurations, the artifact/snapshot dependencies will change/move.
  2. Is it possible to make new build configurations silently do nothing without failure, so old branches can continue like normal?
  3. Any other suggested workarounds?
0
1 comment

Due to the limitations on this usage, there isn't a straightforward way to approach this, otherwise we would have it supported and described. The usual solution would be to:
-Create a template for each of your build configurations at the parent project to all projects you want to handle here.
-Create a subproject for each build chain you want to handle.
-Create separate build configurations as needed for your build chains.

In this scenario, older branches will be assigned to older subprojects that are built in a specific way. Reusability can be kept, while newer builds, with new requirements on new branches will be able to be run with the new setups. It will require more work to be set up, but should cover your scenarios.

0

Please sign in to leave a comment.