我正在尝试为VCS中的单个合并触发单个teamcity构建。我的CI的布局方式是我的一个分支暂存,我们将所有的更改合并到一起。然后,当我们想要部署到生产时,我们将staging合并到git中的master分支中。不幸的是,这触发了很多构建,可能是每个签入分段的一个。所以相反,我们希望这是一个单一的构建。因为它是单个合并到主分支。
那么,是否有人知道如何在VCS的变更中触发单一构建,无论有多少人在多少人中签到?
我在团队城市的构建触发器中选择的选项如下。
Trigger a build on each check-in
Include several check-ins in a build if they are from the same committer
我认为我可以使用自定义构建触发器来完成它,但我宁愿不去那条路。
提前感谢您的帮助。
答案 0 :(得分:30)
尽管违反直觉,但只要您启用Quiet Period足够长时间以包含所有签到,取消选中Trigger a build on each check-in
复选框就可以解决此问题。
基本上Trigger a build on each check-in
实际上意味着"每个版本中只包括1个签到。"禁用该选项仍将导致由签入触发构建,但将包括在构建实际开始之前发生的所有签入(来自所有用户)。 TeamCity应该在他们的文档中明确说明这一点,或者重命名该选项。
答案 1 :(得分:0)
您需要使用或覆盖Quiet Period而不是处理登台合并的分支。
我猜测为了只为那个分支指定静默期,你可能需要一个单独的构建配置。拿你的主构建配置,在你管理它的任何屏幕上,你应该看到右侧的“提取模板”按钮。
然后,您可以使用该模板为暂存分支创建另一个构建配置,并覆盖触发器上的静默期。