我的問題很簡單 - 是否有一個詹金斯ssh插件,我可以用不同的服務器ips完成參數化生成。我已經嘗試過「通過ssh發佈」,但是服務器ips已經在jenkins配置頁面中註冊了,我找不到將它們作爲構建參數添加的方法。詹金斯服務器IP上的SSH通過作爲構建參數
回答
幾個選擇這裏:
- 你想運行多個版本,每一個不同的IP地址,IP地址不會改變。使用帶用戶定義軸的Matrix build。
- 你想運行一個版本,但是每次運行它時,都需要手動輸入一個新的IP地址。使用build with parameters插件。
- 您想運行一個構建,並且可以從另一個構建中派生使用的IP地址。使用parameterized build trigger插件。
可能還有其他幾個選項,所以如果我沒有把你的方案說得很對,請稍微修改一下你的問題,我會相應地修改這個答案。
您必須將所有可能的服務器添加爲SSH服務器,爲每個服務器分配一個標籤(可能是ip)&爲每個服務器設置傳輸設置/執行命令,即使它們全都相同。
將字符串參數添加到您的版本的服務器名稱,即。服務器。
然後,在構建配置中的所有服務器底部的高級部分下打開「參數化發佈」。你給它的參數名稱上面添加(服務器),將舉行一個正則表達式,所有的標籤進行比較。
正則表達式基於Java - 因此。*匹配所有標籤。具有完整IP地址的字符串只會將一個服務器與該IP作爲標籤進行匹配。
這有點笨重,但確實有效。
該變量應該以'$'作爲前綴還是原始的?即'$ SERVERS'或'SERVERS'。我即將嘗試這一點併爲自己找出答案,但這對稍後來這裏的其他人會有幫助。另外,你有鏈接到這個文件? –
我們如何爲每個SSH服務器分配一個標籤?我無法在「全局配置」頁面的「SSH服務器」部分看到它。 –
@JamesSelvakumar:你在構建配置本身,爲你添加到它的每個服務器。應該有一個「標籤」複選框。它位於下面的「高級」部分,您可以在其中選擇服務器的名稱。當您選中「標籤」複選框時,將出現一個文本框,您可以在其中設置標籤。 – reowil
- 1. 通過詹金斯環境變量值詹金斯的作業構建參數
- 2. 傳遞參數通過詹金斯參數構建
- 3. TFS通過詹金斯構建
- 4. 從詹金斯參數構建數組
- 5. 參數化構建 - 詹金斯管道
- 6. 詹金斯SSH AgentForwarding
- 7. 詹金斯停止特定任務的構建根據參數
- 8. 詹金斯觸發器建立依賴於構建參數
- 9. 通過詹金斯錯誤的本地服務器克隆git
- 10. 詹金斯2先前構建作業中的鬆散參數
- 11. 詹金斯構建與java.lang.InterruptedException
- 12. 配置構建詹金斯
- 13. 詹金斯和Android構建
- 14. SSH從詹金斯和運行shell服務器命令
- 15. 詹金斯定期使用參數構建不起作用
- 16. SSH錯誤127詹金斯
- 17. 觸發器詹金斯從Github構建
- 18. 通.apk文件作爲參數傳遞給詹金斯工作
- 19. 無法通過詹金斯
- 20. 無法通過詹金斯
- 21. 詹金斯殼不同服務器
- 22. 我如何通過詹金斯工作
- 23. 詹金斯安裝詹金斯從服務
- 24. 詹金斯 - 複製詹金斯使構建文物到其他位置或文件服務器
- 25. 詹金斯建基地唐參數值
- 26. 詹金斯通過出版過SSH transfering 0文件
- 27. 詹金斯 - 在作業的觸發器中使用構建參數
- 28. 構建狀態通知隱藏從詹金斯構建沒有作爲標記
- 29. 通過詹金斯Gradle構建時間太長
- 30. 詹金斯從linux服務器部署到Windows服務器
您打算如何獲得正確的參數值?它是來自一個環境變量,還是另一個構建的結果,還是來自構建時的用戶輸入,或者......? –
它是在構建時用戶輸入的。 – ltzvetkov
https://wiki.jenkins-ci.org/download/attachments/53608875/pos-default.png?version=1&modificationDate=1321575097000我想使用參數像$ {TARGET_SERVER_IP}而不是這個組合框與預定義的服務器。 – ltzvetkov