2017-08-07 53 views
0

在我詹金斯特徵文件我已經設置使用編譯參數:詹金斯管道 - 從生成參數設置process.env變量

parameters { 
     string(defaultValue: "http://xxx.xxx.xxx.xxx:1xxx/", 
       description: 'Which environment to run on', 
       name: 'Environment') 
    } 

起初,我試圖使用environment塊來設定這個作爲process.env變量但是意識到我無法使用標準${params.Environment}訪問它。

所以,我發現它可以在不過的步驟/腳本塊來訪問我該如何設置一個process.env變量,這樣我的代碼可以看到:在environment塊定義

steps { 
     script { 
      //def process.env.MYENVTEST = "${params.Environment}" 
      ... 
     } 
     } 

回答

1

東西能通過env.MY_VAR(如echo env.MY_VAR)在Jenkinsfile的其他地方訪問。

parameters塊中定義的東西可以通過params.MY_OTHER_VAR在Jenkinsfile的其他地方訪問。

兩者都可以在由Jenkinsfile調用的腳本中作爲環境變量訪問。這聽起來像你使用基於節點的腳本,並且出於某種原因,你更喜歡environment塊。我可能只是使用它,如果你需要的話,可以通過env.THE_NAME_OF_YOUR_VAR參考你的變量。

+0

非常感謝 - 完美的解釋。 – userMod2