允许项目仅在团队协作中在主项目上运行

时间:2019-04-25 11:22:37

标签: continuous-integration teamcity

我正在设置团队协作能力,并且我有两个使用相同VCS根目录的项目Build和Deploy。

有没有办法:

  • 在除master之外的所有分支上触发构建项目
  • 仅在主服务器上触发部署项目

我将其设置为自动触发,但是两个项目仍显示待处理的更改,并且用户仍可以在他们希望的任何分支上手动运行deploy。

构建触发器分支过滤器:
+:*
-:<default>

部署触发器分支过滤器:
+:<default>
-:*

我是否需要使用不同的分支规范两次配置VCS根?

请让我知道是否需要其他东西。

感谢您的帮助。 库尔蒂斯

1 个答案:

答案 0 :(得分:0)

不幸的是,你不能。

但是您必须执行以下操作:

  • 删除从用户运行BuildDeploy配置的功能。
  • +:*; -:<default>设置触发器Build

我希望Deploy具有来自Build的依赖项。

  • 创建新的Deploy配置,例如Deploy only master
  • Deploy添加快照依赖项
  • 用值reverse.dep.*.teamcity.build.branch定义隐藏变量<default>

因此,没有人不能运行Build and Deploy。如果有人运行Deploy only master并选择另一个分支,则该分支将不起作用,因为您将替换teamcity.build.branch成为主分支