Jenkins配置文件中的令牌替换

时间:2016-11-24 05:15:57

标签: jenkins jenkins-pipeline

我有一个需要部署模板文件的部署管道作业。该文件中有一些我想要保密的安全密码。

所以我添加了一个Config file provider plugin(v 2.13)并在其中添加了与全局密码相对应的占位符。遗憾的是,这不起作用。只是为了测试我有Jenkinsfile如下所示

node {
    checkout scm
    withEnv(['INSTANCE=Something']) {
        configFileProvider(
            [configFile(fileId: 'prescribe', variable: 'DEPLOY_FILE')]) {
            sh "echo $env.INSTANCE" 
            sh "cat ${env.DEPLOY_FILE}"
        }
    }
}

id为'prescribe'的文件为

${branch}

${ENV, var=INSTANCE}

${ENV.INSTANCE}
${ENV,INSTANCE}

${env, var=INSTANCE}

我尝试将INSTANCE保持为全局密码全局变量。 但是没有一个令牌被替换。

任何想法我做错了。

1 个答案:

答案 0 :(得分:0)

问题在于Token Macro只接受预定义的env变种。

选项:

  • 工作参数,如@Taringalio在另一个答案中所述
  • 尝试通过EnvInject插件提供env变种

请参阅jenkins跟踪器https://issues.jenkins-ci.org/browse/JENKINS-39998

中的相关问题