VSTS构建在每次推送时触发两次

时间:2018-04-26 12:26:23

标签: continuous-integration azure-devops build-chain

我在VSTS中有一个链式2构建场景设置。

我有一个CI版本,称为“将VSTS同步到GitHub ”,它运行两个步骤:

  1. 一个powershell命令,用于将更改从该提交推送到GitHub。

  2. 触发另一个构建,它编译解决方案,运行测试,部署等(让我们称之为'正确构建')

  3. 同步VSTS到GitHub 构建有一个触发器,可以检测何时进行推送。 这样就可以了。

    第二个版本,'正确构建'没有定义CI触发器。它只能被手动触发(或者更确切地说是通过'同步VSTS到GitHub'构建)。

    每次在Visual Studio中进行推送时,都会调用“同步VSTS到GitHub ”构建。成功,然后调用 Proper Build 。出于某种原因,这个版本在同一个变更集中排队了两次!
    第二个构建在第一个构建运行一小段时间后添加:

    enter image description here

    突然出现了狂野的构建: enter image description here

    我在构建之间看到的唯一区别是代表构建被触发的用户:

    第一次建造: enter image description here

    第二次构建: enter image description here

    特别奇怪的是当构建从VSTS手动排队(没有新的变更集)时不会发生这种情况。在这种情况下,每次构建都会触发一次。

    触发正确构建的构建任务是这样的: https://marketplace.visualstudio.com/items?itemName=benjhuser.tfs-extensions-build-tasks

    这是我配置它的方式(我尝试将突出显示的选项设置为不同的值,没有效果)。 enter image description here

    要确认 - 当此任务禁用时,“正确构建根本不会触发(按预期方式)

    知道如何避免这种重复吗?

1 个答案:

答案 0 :(得分:0)

嗯,答案很简单:

  1. 摆脱"触发器构建'任务
  2. 在'正确构建'上创建构建完成触发器如下:
  3. enter image description here

    那就是它!