【问题标题】:How to pass the Job name and build number as parameter to another jenkins job?如何将作业名称和内部版本号作为参数传递给另一个詹金斯作业?
【发布时间】:2017-07-13 23:08:04
【问题描述】:

我有两个 Jenkins 工作 - JobAJobB

我需要在 JobA 完成构建后开始执行 JobB 并且我需要传递作业名称(即“JobA”)和最新的内部版本号(构建刚刚完成的)到JobB

除了这些,我还需要把原来传给JobA的参数,传给JobB

我在 JobA 中添加了构建后操作 - 在其他项目上触发参数化构建 并在 projects 中指定 JobB构建。其中,我还添加了一个参数——当前构建参数,它将当前参数传递给下一个作业。

我还在 JobB 中添加了构建触发器 - 在构建其他项目后构建 并指定 JobA 作为项目名称。 p>

现在,我如何将 JobA 的 jobName 和 buildNumber 传递给 JobB

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    所以,我能够自己解决这个问题:

    我在 JobB 中创建了 2 个字符串参数 - JOBNAMEBUILDNUM

    然后,在 JobA 的 Post-build Action 的 Trigger parameterized build on other projects 部分,我添加了两件事:

    1. 当前构建参数
    2. 预定义参数

    预定义参数:

    JOBNAME=${JOB_NAME}
    BUILDNUM=${BUILD_NUMBER}
    

    使用这些,我能够将作业名称和内部版本号以及所有当前参数传递给下一个作业。

    【讨论】:

    • 您在 JobB 上为 JOBNAME 和 BUILDNUM 创建了什么类型的参数?细绳 ?空默认?
    • 是字符串参数。
    • 当我尝试这个时,它没有正确传递内部版本号。例如而不是在“创建格式化的内部版本号”下配置生成的内部版本号“201906041”,它传递了原始内部版本号“195”。有什么建议我将如何更正配置来解决这个问题?
    • 嗯,很有趣。我以前从未尝试过格式化的内部版本号,你在做这样的事情吗:stackoverflow.com/questions/45252515/…?我猜它可能以不同的名称存储在环境变量中..尝试传递它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多