2

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

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

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

在此处输入图像描述

如果我运行 api-branch,它将始终使用前端 CI 快照中的默认分支。前端快照上的任何分支都一样。我似乎找不到在配置中或开始构建时指定它的方法。

我愿意做任何事情来解决这个问题,包括构建配置,这些配置只是相互克隆,以按照它们的意图指定分支,但我只是不知道我怎么能做到这一点。谢谢!

4

1 回答 1

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

  2. 我建议在数据存储区(file,db,nosql) 中创建 frontend:api 分支的映射。然后为每个新的/修改的组合动态创建 teamcity 目标(通过 REST API)并显式设置分支名称。创建目标后,只要有任何更改,它们就会自动运行。

于 2015-03-15T19:25:46.873 回答