2017-08-03 28 views
0

使用Jenkinsfile環境變量,比方說,我有一個Jenkinsfile,看起來有點像這樣:內部調用建立

pipeline { 
    agent any 

    environment { 
     FOO = "bar" 
    } 

    stages { 
     stage('Build') { 
      steps { 
       main: { 
        build 'foo-job' 
       } 
      } 
     } 
    } 
} 

我將如何使用的FOO價值爲foo-job shell腳本里面?我試過${FOO}$FOO(空),以及${env.FOO}(顯然是壞替代)。

回答

1

作業foo-job參數化了嗎?你不能僅僅通過設置管道將環境變量傳遞給下游作業。你的情況,你會調用工作foo-job爲:

build(job: 'foo-job', parameters: [string(name: 'FOO', value: 'FOO')]) 

這裏FOO是工作foo-job字符串類型的輸入參數。詳細請參考https://jenkins.io/doc/pipeline/steps/pipeline-build-step/

+1

您應該以這種方式傳遞參數'build(job:'foo-job',parameters:[string(name:'FOO',value:'FOO')])' –

+1

我已經達到了點,但我希望有更好的方法。啊,顯然不是。 –