【问题标题】:Jenkins build promotion: How do I get the build id of the build I want to promote?Jenkins 构建提升:如何获取我想要提升的构建的构建 ID?
【发布时间】:2012-02-23 17:34:19
【问题描述】:

似乎,当使用Promoted Builds Plugin 在Jenkins 中进行构建提升时,它会生成一个新的BUILD_ID 环境变量。有没有办法或插件可以让您访问您正在尝试推广的构建的当前 BUILD_ID?

基本上,我需要的功能是:导航到 Jenkins 中的构建,能够启动 ant 或 gradle 脚本来提升已构建的工件,该工件存档在我当前所在的构建下。

【问题讨论】:

    标签: hudson jenkins jenkins-plugins


    【解决方案1】:

    使用 PROMOTED_JOB_NAME 和 PROMOTED_NUMBER 变量获取正在提升的构建的名称和构建号。这两个值仅在提升过程中设置;他们是创造就业机会的一部分。这并不完全映射到 BUILD_ID,但它确实允许访问该构建。

    当我过去遇到这个问题时,我做了以下事情。

    1. 让原始作业将某些变量(如 JOB_ID)复制到配置样式文件(每行是 NAME=VALUE)。
    2. 将该文件归档为构建的一部分。
    3. 在升级时,使用 PROMOTED_JOB_NAME 和 PROMOTED_NUMBER 变量来获取原始版本,将值输入Copy Artifact Plugin 以检索归档的值文件,然后使用带有该值文件的EnvInject Plugin 带来推广过程中的价值观。

    【讨论】:

    • 好的,我不确定我是否完全遵循。 PROMOTED_NUMBER 和 PROMOTED_JOB_NAME 在什么时候设置?此外,在构建下归档配置文件会产生一个我必须开始的类似问题 - 我如何访问构建?对我来说解决问题的是参数化构建是否可以采用动态值。如果我可以分配 BUILD_TIME = %BUILD_ID%。或类似的东西。
    • 更新答案:PROMOTED_* 变量是作为促销过程的一部分创建的。它们不是典型的工作构建的一部分。
    • 我正在进行促销活动,这些变量在促销时似乎为空。我一定是错过了什么。
    • 使用最新版本的 Jenkins?一种验证方式;在升级命令中,执行 Shell 并运行 SET 以查看所有变量。
    • 好的,所以我需要 PROMOTED_ID 而不是 PROMOTED_NUMBER,除此之外一切都好。这对我有用。我不需要设置其他环境变量,我可以使用 PROMOTED_ID 而不是 BUILD_ID。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多