Jenkins ver。 2.60.1(在kubernetes的容器中运行)
Kubernetes Plugin ver。 0.11(https://github.com/jenkinsci/kubernetes-plugin)
管道测试:
podTemplate(
label: 'mypod',
volumes: [
persistentVolumeClaim(claimName: 'nfs-maven', mountPath: '/mnt/', readOnly: false)],
envVars: [
containerEnvVar(key: 'FOO', value: 'BAR'),
],
containers: [
containerTemplate(name: 'golang',
image: 'golang',
ttyEnabled: true,
command: 'cat',
)]
)
{
node('mypod') {
stage('test env') {
container('golang') {
stage('build') {
sh 'echo $FOO'
sh 'sleep 3600'
}
}
}
}
}
vars不会传递到容器中。 回声没有回音。 echo $ FOO或echo \ $ FOO 我已尝试过pod级别和容器级别。
当我描述创建的pod时,我只获得以下环境变量:
Environment:
JENKINS_LOCATION_URL: http://ldn1-kube1:31000/
JENKINS_SECRET: 107cb696a8792f998fd41b6ccacf833ea74941fc9a95c39c4b2a1cde4c008b35
JENKINS_JNLP_URL: http://10.233.60.248:8080/computer/kubernetes-57beb710bfb44cea8f964d63049b2942-355760c790d6b/slave-agent.jnlp
JENKINS_TUNNEL: 10.233.60.248:50000
JENKINS_NAME: kubernetes-57beb710bfb44cea8f964d63049b2942-355760c790d6b
JENKINS_URL: http://10.233.60.248:8080
HOME: /home/jenkins
答案 0 :(得分:2)
将kubernetes-plugin升级到0.12(29/07/2017)并重新启动jenkins解决了这个问题!
答案 1 :(得分:0)
我猜了一下,但我不认为envVars
中的podTemplate
功能齐全。和你一样,我对podTemplate
没有好运,但我在envVars
级使用containerTemplate
时没有问题。简单的解决方法是在{.1}}处添加。
envVars