2015-11-06 113 views
1

工作流程,我想創建如何正確使用EnvInject Jenkins插件?

  1. 「殼牌執行人」寫變量build.properties文件。
  2. EnvInject插件讀取build.properties將它們注入爲環境變量,因此可以在作業中的任何地方使用它們。 job config

我不是這樣的例外:

[EnvInject] - Loading node environment variables. 
Building remotely on master-worker (lucid) in workspace /data/jenkins/workspace/QA-350_MultiJob 
[QA-350_MultiJob] $ /bin/sh -xe /tmp/hudson757569632298940894.sh 
+ curl --user **** -X POST --header Content-Type: application/json --header Accept: */* -d { 
    "description": "string", 
    "mode": "DEFAULT", 
    "name": "string", 
    "start_time": "2015-11-05T13:26:40.626Z", 
    "tags": [ 
    "string" 
    ] 
} https://**** 
+ jq .id 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 

    0  0 0  0 0 144  0 286 --:--:-- --:--:-- --:--:-- 286 
    0 33 0 33 0 144  49 215 --:--:-- --:--:-- --:--:--  0 
+ ID = "563c8d3ae4b0bf061cd3d999" 
/tmp/hudson757569632298940894.sh: 1: ID: not found 
Build step 'Execute shell' marked build as failure 
Finished: FAILURE 
+1

雖然@freebourn有很好的建議,但實際的錯誤顯示'ID = $(...)'失敗,因爲在shell中,在一個賦值中不應該有空格:'ID = $(...) ' –

+0

下一次,請給我們失敗的代碼(不是它的圖像,一些關鍵細節被遮住)。 – Arran

回答

3

您不需要在「屬性內容」添加任何東西,只要在「屬性文件路徑」你都指向該文件包含變量分配(例如ID = 123)。

  • 驗證由shell腳本創建的工作空間中的文件是否包含變量賦值。
  • 清除「屬性內容」框。
  • 您可以從「屬性文件路徑」中刪除$ WORKSPACE - 默認情況下,它與作業的工作區相關。

你應該把文件中的變量加載到作業環境中。

相關問題