我在Azure DevOps中有两个内部定义,一个用于门控检入,另一个用于持续集成到发行版中。我想使用一个构建定义来运行我们的GCI和CI构建,因此我不必维护具有类似设置,拆卸等的两个单独的构建定义。
当生成队列进入队列时,是否可以在Azure DevOps中检查一个变量,以区分该生成是否由GCI的PR触发?如果有更好的方法,那么所有人的耳朵。
答案 0 :(得分:0)
是的!有一个变量Build.Reason
:
IndividualCI :由Git推送或TFVC签入触发的持续集成(CI)。
BatchedCI::由Git推送或TFVC签入触发的持续集成(CI),并且选择了Batch更改。
CheckInShelveset:门控登机触发器。
因此,您可以在构建任务中添加一个条件,例如仅在GCI / CI构建中运行(仅在CI为CI时运行):
and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))
答案 1 :(得分:0)
我认为您可以使用名为Build.Reason的预定义变量。
将其添加到内部版本号格式,然后每当触发构建时,您都可以直接在构建号中看到是什么触发了它。
例如,如果内部版本号格式为$(date:yyyyMMdd)$(Build.Reason),则内部版本号将显示20190523PullRequest或其他符合变量定义的格式。
希望这对您有所帮助。