当前位置: 首页 > 面试题库 >

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

凤柏
2023-03-14
问题内容

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

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

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

对构建10说我,我进入构建5,然后单击重建。我如何 从管道内的内部版本号(5)像我可以用env.BUILD_NUMBER


问题答案:

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

  1. currentBuild变量具有一个rawBuild返回hudson.model.Run对象的字段
  2. 调用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
Plugin的使用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

请记住scriptApproval当您看到这样的错误时:

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



 类似资料:
  • > 有没有办法从play Store获得某个应用的版本号?google为此目的公开了任何API吗?我从命令行使用CURL执行了如下操作,但得到了一个错误。 我怎样才能在Android系统中获得已安装应用程序的版本? 本部分通过解决

  • 我发现了这个问题 我已尝试使用以下方法从package.json获取版本: 但结果是:

  • 我可以使用以下命令获取tarantool客户端版本: 但是我如何在终端内获得tarantool服务器版本?

  • 可以在横幅中包含Spring Boot版本。txt通过添加${spring boot.version}。 如何对执行器endpoint执行相同的操作?我尝试将以下两个都添加到我的应用程序属性中,但没有成功: endpoint将打印“${spring boot.version}”(或“@spring boot.version@”),但不会解析占位符变量 我的下一个想法是为Spring Boot版本创

  • 问题内容: 我有一个很大的GitHub存储库,其中包含几个可独立构建的位。如果我为Jenkins的每个任务配置一个(或两个)工作,最终我将不得不多次提取千兆字节的数据(每个工作的仓库都是一个克隆)。 这会占用磁盘空间和带宽。 我想做的是拥有“ Refresh local repo”作业,该作业一次克隆github,然后配置每个作业以从该回购中克隆自己并进行构建。然后,通过将子作业设置为依赖的构建,

  • 问题内容: 如何在运行时找出正在使用的JavaFX版本? 问题答案: