gpt4 book ai didi

Azure DevOps 管道条件 - 为什么包含 "and always"?

转载 作者:行者123 更新时间:2023-12-03 00:20:23 26 4
gpt4 key购买 nike

the documentation for conditions in Azure DevOps pipelines给出以下示例:

and(always(), eq(variables['Build.Reason'], 'Schedule'))

为什么要包含“and(always()”部分?根据我的理解,它在语义上等同于:

 eq(variables['Build.Reason'], 'Schedule')

或者我错过了什么?

最佳答案

克里斯托弗,你说得对,这两个条件在行为上是等效的。

不过,我会提供一个使用长版本的理由:

and(always(), eq(variables['Build.Reason'], 'Schedule'))

在编写任务条件时,很容易忘记 succeeded() 是默认值,如果您不包含它,那么即使作业失败或取消,您的任务也会运行。

所以我认为用 succeeded() (或 always()cancelled())编写所有条件是一个很好的做法或其他)包含在表达式中;那么如果您看到一个条件没有它,如下所示:

eq(variables['Build.Reason'], 'Schedule')

然后提醒您询问该条件是否旨在包括失败/取消的作业。

将其更改为长版本可以消除该错误的风险。

关于Azure DevOps 管道条件 - 为什么包含 "and always"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70347102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com