是否有任何選項從命令行安裝jenkins插件?如何從命令行安裝jenkins插件?
我發現這個命令有點谷歌搜索後:
java -jar /var/lib/jenkins/jenkins.war -s http://127.0.0.1:8080/ install-plugin ${Plugin_Name}
但它不工作。
是否有任何選項從命令行安裝jenkins插件?如何從命令行安裝jenkins插件?
我發現這個命令有點谷歌搜索後:
java -jar /var/lib/jenkins/jenkins.war -s http://127.0.0.1:8080/ install-plugin ${Plugin_Name}
但它不工作。
按照詹金斯command line interface documentation,您需要使用客戶 JAR文件(不是你正在使用的服務器 WAR文件),它可以從詹金斯直接獲得,例如通過對http://localhost:8080/cli
鏈接然後你就可以使用這個JAR運行命令:
java -jar jenkins-cli.jar -s http://127.0.0.1:8080/ install-plugin <name>
這將下載安裝所需的插件,與任何依賴的一起。
如果你沒有找到一些直接安裝插件的命令。 請看看這個鏈接:How to install a plugin in Jenkins manually?
但它需要首先下載插件(* .hpi文件)並手動運行它。
import jenkins.model.*
import java.util.logging.Logger
def logger = Logger.getLogger("")
def installed = false
def initialized = false
def pluginParameter="gitlab-plugin hipchat swarm"
def plugins =pluginParameter.split()
logger.info("" + plugins)
def instance =Jenkins.getInstance()
def pm = instance.getPluginManager()
def uc =instance.getUpdateCenter()
uc.updateAllSites()
plugins.each { logger.info("Checking " + it) if
(!pm.getPlugin(it)) {
logger.info("Looking UpdateCenter for " + it)
if (!initialized) {
uc.updateAllSites()
initialized = true
}
def plugin = uc.getPlugin(it)
if (plugin) {
logger.info("Installing " + it)
plugin.deploy()
installed = true
} } }
if (installed)
{
logger.info("Plugins installed, initializing a restart!")
instance.save()
instance.doSafeRestart()
}
你爲什麼不止一次調用'uc.updateAllSites()'?這是故意的嗎? – giorgian
如果已經運行從戰爭文件,則詹金斯-cli.jar將最有可能被解開詹金斯在這裏緩存:/var/cache/jenkins/war/WEB-INF/jenkins-cli.jar – JamesP