【问题标题】:How to access a environment variable set in a jenkins job from a different jenkins job如何从不同的詹金斯作业访问詹金斯作业中设置的环境变量
【发布时间】:2020-04-09 14:27:56
【问题描述】:

我有一个 jenkins 工作 Job1,它设置了一个环境变量,比如 CLIENT_CODE。我想在不同的 jenkins 作业 Job2 中使用这个变量值,并且我想从 Job1 的最后一次成功构建中获取这个变量数据。

通过Job1 中的shell 命令设置变量。而 Job2 也使用 shell 命令来获取这个变量值。

请告诉我这样做的方法。

【问题讨论】:

    标签: jenkins


    【解决方案1】:
    1. 如果 Job2 是 Job1 的下游项目,您可以将环境变量作为参数传递给下游项目,如下所示。
    build job: 'path/to/downstream/project/job2', parameters: [string(name: 'PARAM1', value: "${environment-variable-to-pass-from-job1}")
    

    1. CURL 您的 Job1 控制台日志以获取环境变量并在 job2 中使用它,如下所示。
    withCredentials([usernamePassword(credentialsId: 'credentialID', usernameVariable: 'user', passwordVariable: 'password')]) {
    CLIENT_CODE = sh (script: 'curl -s -u $user:$password https://job-url/job/jobName/${JOB_NUMBER}/consoleText | grep "CLIENT_CODE" | sed \'s/.*=//\'', returnStdout: true).trim()
    }
    

    1. 此 SO 线程的第一个答案:How to set environment variable from a job and use it in next job in jenkins?

    【讨论】:

    • 谢谢 vijay,第三种方法更适合我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2016-11-09
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多