2015-10-19 94 views
4

在Jenkins中,我使用SSH插件通過ssh在遠程計算機上運行shell命令。我已將我的SSH站點添加到全局配置。 但是在我的作業配置的「在遠程主機上使用ssh執行shell腳本」部分下,我不想從下拉列表中選擇一個SSH站點,而是使用構建參數。這樣我想根據我的要求將這項工作推廣到不同的環境。Jenkins SSH插件:參數化遠程主機

有沒有一種方法來參數化ssh站點下拉?或以不同的方式達到我的要求?

順便提一下,我已經擁有的一個選項是將ssh作爲腳本的一部分並在其中執行。

+0

你有沒有嘗試參數化構建。也許這可以幫助你:https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build –

+0

沒有Priyanshu。這可能不會在我的情況下工作,因爲我不知道如何使用SSH站點的預配置下拉(通過全局配置)使用此參數。 – Majjige

+0

[如何通過SSH插件的標籤字段使用Publish控制Jenkins中的參數化發佈](http://stackoverflow.com/questions/13411489/how-to-control-parametrized-publishing-in-jenkins-using-publish -over-ssh-plugin) –

回答

1

有兩個插件可以幫助你。 假設你有有限的SSH連接,下面可能會幫助你。

1)MultiJob插件: - 您可以創建下游作業,它將從之前的版本中獲取輸入。因此,根據您的參數,您可以爲不同的SSH連接配置新作業。例如: -

如果您有4個ssh連接A,B,C,D 爲每個連接創建4個子作業。如果輸入參數是A,B,C,D,您可以編寫簡單的條件,以便選擇Job。

2)JobDSL 2)JobDSL插件: - 類似的方法,你需要根據前面的輸入安排你的構建作業,即如果輸入參數是A,B,則需要編寫一些groovy if else條件來選擇要使用的連接。光盤。

希望它有幫助。

+1

上面提到的是很好的方法,但它沒有回答這個問題。我認爲問題是,我們可以將目標服務器名稱作爲變量傳遞給作業級別的插件,而不是在全局配置中定義。建議是否可以通過上述任何一種方法實現。 – user3232823

2

可以參數化SSH服務器。有關詳細信息,請參閱post