每次推送都会触发两次 VSTS 构建
VSTS build triggered twice with each push
我在 VSTS 中设置了一个链式 2 构建场景。
我有一个 CI 构建,称为“将 VSTS 同步到 GitHub”,它运行两个步骤:
一个 powershell 命令,将更改从该提交推送到 GitHub。
触发另一个构建,它编译解决方案、运行测试、部署等(我们称之为“正确构建”)
此 将 VSTS 同步到 GitHub 构建 有一个触发器可以检测何时进行了推送 。
这样执行就OK了。
第二个构建,“正确构建”没有定义CI触发器。它应该只被手动触发(或者更确切地说是由 'Sync VSTS to GitHub' 构建)。
每次在 Visual Studio 中进行推送时,都会调用“将 VSTS 同步到 GitHub”构建。成功,然后调用 Proper Build。出于某种原因,此构建为同一个变更集排队两次!
第二个构建是在第一个构建运行一段时间后添加的:
突然出现了一个疯狂的构建:
我在构建之间看到的唯一区别是触发构建所代表的用户:
首次构建:
第二次构建:
特别奇怪的是,当构建从 VSTS 手动排队时(没有新的变更集),这不会发生。在这种情况下,每个构建都会触发一次。
触发正确构建的构建任务是这个:
https://marketplace.visualstudio.com/items?itemName=benjhuser.tfs-extensions-build-tasks
这就是我的配置方式(我尝试将突出显示的选项设置为不同的值,但没有效果)。
确认 - 当此任务被 禁用 时,则 Proper Build' 根本不会被触发(如预期)
知道如何避免这种重复吗?
其实答案很简单:
- 摆脱'trigger build'任务
- 在 'Proper Build' 上创建构建完成触发器,如下所示:
就是这样!
我在 VSTS 中设置了一个链式 2 构建场景。
我有一个 CI 构建,称为“将 VSTS 同步到 GitHub”,它运行两个步骤:
一个 powershell 命令,将更改从该提交推送到 GitHub。
触发另一个构建,它编译解决方案、运行测试、部署等(我们称之为“正确构建”)
此 将 VSTS 同步到 GitHub 构建 有一个触发器可以检测何时进行了推送 。 这样执行就OK了。
第二个构建,“正确构建”没有定义CI触发器。它应该只被手动触发(或者更确切地说是由 'Sync VSTS to GitHub' 构建)。
每次在 Visual Studio 中进行推送时,都会调用“将 VSTS 同步到 GitHub”构建。成功,然后调用 Proper Build。出于某种原因,此构建为同一个变更集排队两次!
第二个构建是在第一个构建运行一段时间后添加的:
突然出现了一个疯狂的构建:
我在构建之间看到的唯一区别是触发构建所代表的用户:
首次构建:
第二次构建:
特别奇怪的是,当构建从 VSTS 手动排队时(没有新的变更集),这不会发生。在这种情况下,每个构建都会触发一次。
触发正确构建的构建任务是这个: https://marketplace.visualstudio.com/items?itemName=benjhuser.tfs-extensions-build-tasks
这就是我的配置方式(我尝试将突出显示的选项设置为不同的值,但没有效果)。
确认 - 当此任务被 禁用 时,则 Proper Build' 根本不会被触发(如预期)
知道如何避免这种重复吗?
其实答案很简单:
- 摆脱'trigger build'任务
- 在 'Proper Build' 上创建构建完成触发器,如下所示:
就是这样!