我们将多层产品分成不同的构建配置,以实现持续集成。为了这个问题,我们只是说我们有一个"前端CI"构建,以及" API CI"建立。 VCS根目录配置为引入所有分支,并在签入时触发运行,如CI所期望的那样。
现在我有了User Acceptance项目,我使用CloudFormation动态启动我部署的服务器。我为上面提到的CI构建设置了快照依赖项,并且每个VCS根和依赖项上的默认分支都按预期工作。我希望前端的功能分支可能不一定需要API的默认分支,并且我设置的当前方式也可以考虑到这一点。
我开始遇到问题的地方。如果我必须分支前端和API,我无法让TeamCity在这方面做我想做的事情。我的问题是:如何告诉Team City使用分支机构运行UA构建" A"来自前端CI构建配置和分支" B"来自API CI构建配置,其中" A"和" B"可以是任意分支吗?目前,当我查看UA构建配置时,会显示两个快照的所有分支。这是一张好照片:
如果我运行api-branch,它将始终使用前端CI快照中的默认分支。前端快照上的任何分支都相同。我似乎无法找到在配置中或启动构建时指定此方法的方法。
我正准备解决这个问题,包括刚刚克隆的构建配置,以指定分支的方式,但我只是没有看到我怎么能这样做。谢谢!
答案 0 :(得分:2)
创建一个teamcity模板目标,该目标监视前端和API存储库,并可以触发更改。这应该是一个目标(而不是两个不同的目标)。参数化分支名称,以便实际目标必须给出分支名称
我建议在数据存储区(文件,db,nosql)中创建前端:api分支的映射。然后为每个新的/修改的组合动态创建teamcity目标(通过REST API)并显式设置分支名称。创建目标后,只要有任何更改,它们就会自动运行。