我想知道,如何使用Jenkins Remote 訪問API爲Jenkins安裝插件? 我找到了使用jenkins CLI進行安裝的方法。但我需要知道如何使用API來做同樣的事情。 我試過使用jenkins-python庫。但我沒有找到任何方式 安裝插件那裏。如何在jenkins遠程訪問API的幫助下在jenkins中安裝插件?
回答
我不認爲這是可能的。但是,作爲一種解決方法,您可以考慮創建一個可通過Jenkins CLI安裝插件的作業;然後您可以使用適當的參數通過API調用該作業。
正如malenkiy_scot所建議的,我們可以創建一個工作並使用Jenkins CLI。這是我爲自動安裝插件所採取的祕密方式。 Jenkins插件在Jenkins鏡像中可用:http://updates.jenkins-ci.org/latest此鏈接可能不會列出任何內容,但是如果您知道插件的名稱,則可以下載該插件。例如,如果你想下載skype-notifier插件,你可以從http://updates.jenkins-ci.org/latest/skype-notifier.hpi下載它的通用URL是「http://updates.jenkins-ci.org/latest/.hpi」
下載該插件後,它應該到Jenkins home的「plugins」目錄在服務器上。對於linux機器,它很可能在「/ var/lib/jenkins/plugins」中。簡單的例子
wget http://updates.jenkins-ci.org/latest/skype-notifier.hpi
mv skype-notifier.hpi /var/lib/jenkins/plugins
有兩件事情,這裏要注意:
- 如果插件有任何相關性,這些將不會被默認安裝的。如果您知道需要其他插件,則可以按照相同的方式安裝這些插件。這裏需要一些手動過程。但是,如果需要一組相同的插件,依賴關係只能解決一次,腳本可以寫入下載並將它們移動到Jenkins主頁。
- 下載的插件無法立即使用。重新加載Jenkins是必需的。
向Jenkins插件管理器發送(HTTP POST)以下xml數據(包含plugin-id @ version)。看看我的jenkins install plugin script的要點。
此HTTP POST請求安裝jenkins git plugin 2.0。
curl -X POST -d '<jenkins><install plugin="[email protected]" /></jenkins>' --header 'Content-Type: text/xml' http://localhost:8080/pluginManager/installNecessaryPlugins
一些插件都很難在文件系統中更新,因爲其他依賴於它(證書就是一個例子)。對於這些插件,只能使用Web界面進行更新。
Jenkins前端在'Manage Jenkins' - >'管理插件'下有一個頁面。在「高級」標籤下是「uploadPlugin」的表單。它允許捲曲的Web自動化,你可能需要添加驗證。
curl -i -F [email protected] http://jenkinshost/jenkins/pluginManager/uploadPlugin
除了已經提到的方法(我個人使用的「捲曲uploadPlugin」一個由@bbaassssiiee提供),你需要考慮的是,如果你使用的插件管理詹金斯將嘗試dinamically加載插件,但如果你需要重新啓動詹金斯正確初始化插件(這是我的情況),你應該增加:
curl -kX POST https://${JENKINS_URL}/safeRestart
如果你直接複製插件詹金斯/插件,重啓是強制性的要加載的插件。
- 1. Jenkins遠程訪問API
- 2. 遠程訪問安全Jenkins服務器
- 3. Jenkins:訪問Jenkins遠程API的Jython腳本
- 4. 無法在Jenkins中安裝Groovy插件
- 5. 無法遠程訪問jenkins
- 6. Jenkins插件安裝失敗
- 7. 如何安裝Rake Jenkins插件?
- 8. Where /如何爲Jenkins安裝SonarQube插件?
- 9. Jenkins在安裝GitHub插件後崩潰
- 10. 在jenkins上安裝sonar插件
- 11. 如何在Windows Docker上的jenkins中預先安裝插件?
- 12. 如何在安全的情況下遠程使用jenkins
- 13. 如何在Jenkins SonarQube插件的幫助下啓動Grade SonarQube分析
- 14. 如何手動在Jenkins中安裝插件?
- 15. 如何在使用gradlew時安裝缺少的jenkins插件?
- 16. 與Powershell和Jenkins遠程訪問
- 17. Jenkins - 遠程訪問被拒絕
- 18. 在Jquery幫助下訪問PHP api
- 19. jenkins EnvInject插件不會安裝
- 20. 安裝Jenkins DCOS - Marathon插件後缺失
- 21. Jenkins插件安裝與廚師食譜
- 22. jenkins - 插件(憑證)手動安裝
- 23. 幫助安裝Symfony插件
- 24. 如何離線安裝jenkins?
- 25. 如何在WebSphere 8.5上安裝Jenkins
- 26. 如何在ubuntu中使用命令行在Jenkins中安裝插件?
- 27. 如何在Jenkins中配置Nant插件
- 28. 需要關於在jenkins中跳過下游作業的幫助
- 29. 從Groovy腳本訪問Jenkins插件包
- 30. 失敗:在jenkins中安裝Git插件2.7.4
這應該是新接受的答案。此外,如果您將插件指定爲'git @ latest',則會安裝最新版本的插件。這裏使用的插件名稱是'Plugin ID'字段,例如[wiki.jenkins-ci.org](https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin) 。唯一要記住的另一件事是'curl'操作將在插件及其先決條件完全安裝之前返回。如果您正在自動執行此操作,強烈建議在安裝插件後插入一些睡眠定時器。 – 2014-03-31 17:27:28
這是金!這應該是被接受的答案。 – OkezieE 2014-12-09 23:23:23
'curl -X POST --form-string「plugin.git.default = on」http:// localhost:8080/pluginManager/install' 也有可能,其中'git'是插件名稱。但是這需要重新啓動Jenkins。 – 2016-07-13 08:45:35