2011-12-01 73 views
2

我試圖遠程主機上執行shell腳本,但我不知道怎麼打發詹金斯環境變量防爆:BUILD_NUMBER

使用ssh遠程主機上執行shell腳本 SSH站點

有人能告訴我怎麼做嗎? 謝謝 praveen

回答

1

只需在構建步驟中填寫Command字段時將$ BUILD_NUMBER作爲參數傳遞給遠程shell腳本即可。例如:

遠程shell腳本內容:

echo "Build number is $1" 

命令字段內容:

"/path/to/myshellscript $BUILD_NUMBER" 
+0

我想這已經沒有工作,下面./deploy.sh更多信息--buildnumber $ BUILD_NUMBER是不工作,但如果我傳遞./deploy.sh --buildnumber 10它工作並在遠程主機上執行,基本$ BUILD_NUMBER不在遠程shell中工作,但它在同一個shell中工作。任何想法? – sharp

+0

對不起 - SSH構建步驟似乎以奇怪的方式處理引號。圍繞要用雙引號執行的命令應該可行(在遠程主機上執行該命令之前,它會在本地評估任何環境變量),但詹金斯似乎以某種方式吞嚥了引號,但我無法弄清楚如何獲取它工作。我會繼續尋找。 –

+0

沒問題,唯一的辦法就是在當前shell中將一個shh轉到box,然後用參數運行該命令。 – sharp

0

使用SSH插件執行遠程主機上的SSH,下面做:

export BUILD_NUMBER 
/path/to/myshellscript 
0

以防萬一有人對此問題感到困惑,因爲SSH Exec命令仍然在同一個地方ocumented方式,你需要引用您傳遞給該命令的參數,例如:

/path/to/script "$BUILD_NUMBER" "$GIT_BRANCH"