你能从Jenkins管道内部识别它是否是新分支的第一次运行吗?

unftdfkk  于 2022-12-11  发布在  Jenkins
关注(0)|答案(3)|浏览(151)

是否可以查看管道作业是否是管道本身内部新发现的分支的第一次运行?如果可以获得一个作业的所有运行的列表,也许可以查看是否有0个以前的运行,从而知道它是第一次运行?

cclgggtu

cclgggtu1#

如果这是第一个组建,请使用env.BUILD_NUMBER . env.BUILD_NUMBER == '1'
对于多分支管道中新发现的分支(我假设您使用它),这将起作用。

daupos2t

daupos2t2#

如果您想从Jenkins管道中识别内部版本号,则可以使用管道全局变量currentBuild来识别。此变量可用于发现有关当前正在执行的管道的信息,其属性如currentBuild.resultcurrentBuild.displayName等等。您可以使用属性currentBuild.id来了解内部版本号,从而了解它是否是第一个内部版本。
有关currentBuild上可用属性的完整和最新列表,请参阅URL处的内置全局变量参考。
希望,这有帮助。

2exbekwf

2exbekwf3#

我试图解决同样的问题,并结束了这个解决方案:

when {
  allOf {
    expression { currentBuild.previousCompletedBuild != null }
    not { changeset 'your-project-dir/**' }
  }
}

检查currentBuild.previousCompletedBuild != null比检查env.BUILD_NUMBER == '1'更好,因为如果第一次运行由于某些原因而中止,那么下一次构建将有env.BUILD_NUMBER == '2',但它也不会有更改。检查currentBuild.previousCompletedBuild != null确保之前至少有一次成功的构建,我们可以检查它的更改。

相关问题