2016-01-13 82 views

回答

19

按照詹金斯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> 

這將下載安裝所需的插件,與任何依賴的一起。

+7

如果已經運行從戰爭文件,則詹金斯-cli.jar將最有可能被解開詹金斯在這裏緩存:/var/cache/jenkins/war/WEB-INF/jenkins-cli.jar – JamesP

1
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() 
} 
+2

你爲什麼不止一次調用'uc.updateAllSites()'?這是故意的嗎? – giorgian