Jenkins ver。 2.60.1(在kubernetes上運行容器)Jenkins 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級別和容器級別。
當我描述生成莢我只得到以下環境瓦爾:
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
你能夠運行'kubectl get -o yaml pod -l mypod' _(我必須檢查沒有值的標籤的語法,或者當然你可以得到pod的名稱)_ podTemplate在現實生活中應用?我也發現它超級,超級,超級可疑沒有任何k8s服務env-vars存在('KUBERNETES_SERVICE_HOST','KUBERNETES_SERVICE_PORT'等) –
謝謝馬修。請看這裏的輸出 https://pastebin.com/vM5Pkzhc –