在管道的容器步骤中使用时,环境变量值中的'$'字符会加倍

时间:2019-08-01 21:57:15

标签: jenkins kubernetes jenkins-pipeline jenkins-plugins

我在jenkins管道中使用kubernetes插件在容器中运行这些阶段,并使用凭据绑定插件将用户名密码凭据作为环境变量注入到容器中。一些密码中包含美元符号,并且在容器步骤中,这些美元符号以某种方式被加倍。我缩小了范围,它似乎特定于环境变量(凭证绑定也将定义环境变量),因此我创建了一个简单的管道来测试:

pipeline {
    agent any
    environment {
        FRUIT = 'apple$'
    }
    stages {
        stage('test') {
            steps {
                sh 'echo "${FRUIT}"'
                container('jnlp') {
                    sh 'echo "${FRUIT}"'
                }
            }
        }
    }
}

输出:

apple$
apple$$

第二行是从容器步骤打印出来的,变量相同,但末尾的美元符号加倍。

版本: -詹金斯2.176.2 -管道2.6 -Kubernetes插件1.18.0

  • Kubernetes集群v1.14.4

它是否可以工作,或者容器步骤有什么限制?

0 个答案:

没有答案