我们在GitHub分支中创建特征(一个特征分支指向一个特征)。我们有一个开发分支和一个主分支。两者都应该是绿色的。合并触发时的TeamCity触发器与合并触发器
我们使用TeamCity进行构建和部署。我想知道的是,当创建一个拉取请求时(从要开发的特性分支),TeamCity自动构建和测试请求,然后启动一个EC2实例,以便手动测试它。当合并pull请求时,TeamCity将构建,测试并创建一个Docker镜像,并将其推送到ECS上。
这一切工作,除了我们有触发错误。
1)为了构建拉取请求,VCS根具有一个默认分支,设置为develop
,分支规格为+:refs/pull/(*/merge)
- 我们不想单独构建拉取请求,而是生成合并后的代码。然后,我们将其部署到EC2实例上进行手动测试。
2)TeamCity向GitHub报告建立pull请求的状态,在使用EC2实例进行手动测试后,代码从feature分支合并到develop中。此时,我们希望在开发中构建代码,然后将新的微服务推送到Amazon ECS上。对于一旦将请求合并到开发环境中构建,VCS根目录将默认分支设置为develop
。
实际上,1总是被触发,例如,既提出拉动要求,又合并为发展。 2只有在合并到开发中才会触发,这是正确的。
任何帮助将不胜感激。
编辑
我已经澄清了我们使用上述
您描述的方式使您听起来像有两个VCS根,或者您试图动态设置默认分支(可能是我已经解释过它的方式)您能否确认您只有一个VCS根目录,并且不会动态更改默认/分支规格。 –
我们的项目有两个VCS根目录,每个生成配置都有一个VCS根目录。我们不会动态更改默认或分支规范,只是我们已经设置了两个VCS根目录。 – christophmccann
啊哈 - 我会质疑需要两个VCS根源,因为这应该是一个工作 - 你想聊聊吗? http://chat.stackoverflow.com/rooms/117201/evolve-software-ltd –