简体   繁体   中英

TeamCity build dependencies and choosing the correct branch

I have a single project with three build configurations:

  1. Integration
  2. Deploy Dev
  3. Deploy Release

Build configs 2 and 3 are dependent on 1 via a snapshot.

There are 3 VCS roots:

  1. Git - All (used with build config 1)
  2. Git - Develop (used with build config 2)
  3. 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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM