Teamcity 执行生成时选择多个分支

Teamcity 执行生成时选择多个分支,teamcity,user-acceptance-testing,Teamcity,User Acceptance Testing,我们将产品的多个层次划分为不同的构建配置,以实现持续集成。对于这个问题,让我们假设我们有一个“前端CI”构建和一个“API CI”构建。VCS根配置为拉入所有分支,并在签入时触发以运行,这与CI的预期相同 现在我有了我的用户验收项目,在那里我使用CloudFormation动态加速我部署到的服务器。我已经为上面提到的CI构建设置了快照依赖项,对于每个VCS根和依赖项上的默认分支,一切都按照预期工作。我希望前端的功能分支可能不一定需要API的默认分支,而我当前的设置方式也说明了这一点 这就是我开始

我们将产品的多个层次划分为不同的构建配置,以实现持续集成。对于这个问题,让我们假设我们有一个“前端CI”构建和一个“API CI”构建。VCS根配置为拉入所有分支,并在签入时触发以运行,这与CI的预期相同

现在我有了我的用户验收项目,在那里我使用CloudFormation动态加速我部署到的服务器。我已经为上面提到的CI构建设置了快照依赖项,对于每个VCS根和依赖项上的默认分支,一切都按照预期工作。我希望前端的功能分支可能不一定需要API的默认分支,而我当前的设置方式也说明了这一点

这就是我开始有问题的地方。如果我必须同时分支前端和API,我就无法让TeamCity在这方面做我想做的事情。我的问题是:如何告诉Team City使用前端CI构建配置中的分支“a”和API CI构建配置中的分支“B”运行UA构建,其中“a”和“B”可以是任意分支?目前,当我查看UA构建配置时,两个快照中的所有分支都会显示出来。这是一张好照片:

如果我运行api分支,它将始终使用前端CI快照中的默认分支。前端快照上的任何分支也是如此。我似乎找不到在配置中或启动构建时指定此项的方法

我准备做任何事情来解决这个问题,包括彼此克隆的构建配置来指定分支,但我也不知道如何做到这一点。谢谢

  • 创建teamcity模板目标,该模板监控前端和API存储库,并可在发生更改时触发。这应该是一个目标(而不是两个不同的目标)。参数化分支名称,以便实际目标必须给出分支名称

  • 我建议在数据存储(文件、db、nosql)中创建前端api分支的映射。然后为每个新的/修改的组合动态创建teamcity目标(通过RESTAPI),并显式设置分支名称。创建目标后,如果有任何更改,它们将自动运行