gpt4 book ai didi

jenkins - 如何从执行重建的地方获取内部版本号?

转载 作者:行者123 更新时间:2023-12-05 00:11:58 26 4
gpt4 key购买 nike

当我从构建页面单击“重建”时,jenkins将重建并运行新作业-具有新jenkins内部编号的新作业。

如何获得执行重建的作业的内部版本号?

我不是在谈论以前的内部版本号。

对构建10说我,我进入构建5,然后单击“重建”。我如何像env.BUILD_NUMBER一样从管道内部构建编号(5)?

最佳答案

我假设您正在使用Groovy Pipeline,并且已经知道全局变量(请参阅全局变量引用)。

  • currentBuild变量具有一个字段rawBuild,该字段返回hudson.model.Run对象
  • 调用rawBuildObject#getCauses()rawBuildObject#getCauses()并返回一些Cause对象。

  • 下面的脚本:
    node {
    stage('test advance script') {
    echo "current build number: ${currentBuild.number}"
    echo "previous build number: ${currentBuild.previousBuild.getNumber()}"
    def causes = currentBuild.rawBuild.getCauses()
    echo "causes: ${causes}"
    def rebuildCause0 = currentBuild.rawBuild.getCause(com.sonyericsson.rebuild.RebuildCause)
    echo "rebuildCause0: ${rebuildCause0}"
    echo "rebuild up number: ${rebuildCause0.getUpstreamBuild()}"
    }
    }

    但是,正如我们在聊天中讨论的那样,Rebuilder插件以错误的方式使用了 CauseAction。如果将其固定为 this,则控制台输出应为:
    current build number: 72
    previous build number: 71
    causes: [hudson.model.Cause$UserIdCause@679c1066, job/DMP/job/test-pipeline/63[hudson.model.Cause$UserIdCause@679c1066]]
    rebuildCause0: job/DMP/job/test-pipeline/63[hudson.model.Cause$UserIdCause@679c1066]
    rebuild up number: 63

    Remember to scriptApproval when you see errors like this:

    Scripts not permitted to use method hudson.model.Run
    getCauses. Administrators can decide whether to approve or reject this
    signature.

    关于jenkins - 如何从执行重建的地方获取内部版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51974682/

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