是否可以查看管道作业是否是管道本身内部新发现的分支的第一次运行?如果可以获得一个作业的所有运行的列表,也许可以查看是否有0个以前的运行,从而知道它是第一次运行?
cclgggtu1#
如果这是第一个组建,请使用env.BUILD_NUMBER . env.BUILD_NUMBER == '1'。对于多分支管道中新发现的分支(我假设您使用它),这将起作用。
env.BUILD_NUMBER
env.BUILD_NUMBER == '1'
daupos2t2#
如果您想从Jenkins管道中识别内部版本号,则可以使用管道全局变量currentBuild来识别。此变量可用于发现有关当前正在执行的管道的信息,其属性如currentBuild.result、currentBuild.displayName等等。您可以使用属性currentBuild.id来了解内部版本号,从而了解它是否是第一个内部版本。有关currentBuild上可用属性的完整和最新列表,请参阅URL处的内置全局变量参考。希望,这有帮助。
currentBuild
currentBuild.result
currentBuild.displayName
currentBuild.id
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确保之前至少有一次成功的构建,我们可以检查它的更改。
currentBuild.previousCompletedBuild != null
env.BUILD_NUMBER == '2'
3条答案
按热度按时间cclgggtu1#
如果这是第一个组建,请使用
env.BUILD_NUMBER
.env.BUILD_NUMBER == '1'
。对于多分支管道中新发现的分支(我假设您使用它),这将起作用。
daupos2t2#
如果您想从Jenkins管道中识别内部版本号,则可以使用管道全局变量
currentBuild
来识别。此变量可用于发现有关当前正在执行的管道的信息,其属性如currentBuild.result
、currentBuild.displayName
等等。您可以使用属性currentBuild.id
来了解内部版本号,从而了解它是否是第一个内部版本。有关
currentBuild
上可用属性的完整和最新列表,请参阅URL处的内置全局变量参考。希望,这有帮助。
2exbekwf3#
我试图解决同样的问题,并结束了这个解决方案:
检查
currentBuild.previousCompletedBuild != null
比检查env.BUILD_NUMBER == '1'
更好,因为如果第一次运行由于某些原因而中止,那么下一次构建将有env.BUILD_NUMBER == '2'
,但它也不会有更改。检查currentBuild.previousCompletedBuild != null
确保之前至少有一次成功的构建,我们可以检查它的更改。