2017-09-23 79 views
0

ENV:詹金斯2.73.1 & Kubernetes插件1.0如何使用kubernetes插件將jenkins構建環境轉換爲pod?

容器內,我希望得到正常的詹金斯生成環境變量像BUILD_NUMBER

 
podTemplate(label: 'mypod', containers: [ 
    containerTemplate(name: 'python', image: 'python:2.7.8', ttyEnabled: true) 
]) { 

    node("mypod") { 
     echo sh(returnStdout: true, script: 'env') 

     container('python') { 
      stage('Checkout') { 
       sh "env" 
      } 
     } 
    } 
} 

所以在上面的代碼遠,裏面python,它沒有傳統的構建變量。

任何解決方案來獲取容器內的這些變量?

+0

我得到錯誤代碼:詹金斯沒有標籤mypod在詹金斯和無法啓動POD。任何想法? –

回答

0

您可以使用env.BUILD_NUMBER 即

node{ 
    echo env.BUILD_NUMBER 
} 

此外,如果你希望所有的ENV瓦爾可用的列表,你可以運行

node{ 
    echo "${env.getEnvironment()}" 
} 

這是默認詹金斯插件ENV vars,但你也可以在pod模板中爲你的kubernetes插件構建莢設置env vars,例如..

envVars: [ 
    envVar(key: 'GOPATH', value: '/home/jenkins/go') 
]), 

FWIW這裏是正在使用https://github.com/fabric8io/fabric8-pipeline-library/blob/3834f0f/vars/goTemplate.groovy#L27

更多細節here

+0

如何將$ BUILD_NUMBER傳入容器?你能提供工作代碼嗎? –

相關問題