问题
I have a single project with three build configurations:
- Integration
- Deploy Dev
- Deploy Release
Build configs 2 and 3 are dependent on 1 via a snapshot.
There are 3 VCS roots:
- Git - All (used with build config 1)
- Git - Develop (used with build config 2)
- Git - Master (used with build config 3)
The default branch and branch specs are as follows:
Git - All
default branch:
develop
branch spec:
+:refs/heads/(develop)
+:refs/heads/(master)
+:refs/heads/(feature/)
+:refs/heads/(hotfix/)
+:refs/heads/(release)
+:refs/heads/(support/*)
Git - Develop
default branch:
develop
branch spec:
+:refs/heads/(develop)
Git - Master
default branch:
master
branch spec:
+:refs/heads/(master)
Here is the problem...
When I run a build for the third build config, I want the dependency to check for integration builds on the master branch. It is not doing and will always use the default branch of the integration build config (currently develop).
Is there a way to achieve what I want?
- Have a single integration build config
- Have a separate build config that is dependent on only develop branch updates
- Have a separate build config that is dependent on only master branch updates
The way I have done it in the past involved using multiple CVS end points on a single build config, which also seems wrong and I wanted to avoid that if possible.
回答1:
I would suggest using a variable for branch spec and VCS trigger. That allows you to reuse the VCS root, while still giving you the flexibility to choose the values in each build configuration.
来源:https://stackoverflow.com/questions/22333809/teamcity-build-dependencies-and-choosing-the-correct-branch