Jenkins ver。 2.60.1(kubernetesのコンテナで動く)Jenkins kubernetes Plugin環境変数を渡していないプラグイン
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 私はポッドレベルとコンテナレベルを試しました。
私が唯一、以下の環境がvarsの取得作成したポッド説明:
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' _を実行することができますか(値なしのラベルの構文をチェックするか、もちろんポッドの名前を取得する必要があります)_ podTemplateは実生活に適用されていますか?私はまた、スーパー、スーパー、超疑いのないk8sサービスenv-varsが存在しないことを知っています( 'KUBERNETES_SERVICE_HOST'、' KUBERNETES_SERVICE_PORT'など) –
Matthewに感謝します。ここに出力を参照してください https://pastebin.com/vM5Pkzhc –