我在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
它是否可以工作,或者容器步骤有什么限制?