2016-01-13 13 views

risposta

19

Come per la Jenkins command line interface documentation, è necessario utilizzare il client di fileJAR (non il file WARserver che si sta utilizzando), che è possibile ottenere direttamente da Jenkins, per esempio tramite i link sul http://localhost:8080/cli

Quindi è possibile eseguire il comando utilizzando questo JAR:

java -jar jenkins-cli.jar -s http://127.0.0.1:8080/ install-plugin <name> 

Questo scaricherà installare il plugin che si desidera, con una delle sue dipendenze.

+7

Se è stata eseguita Jenkins da un file di guerra poi la Jenkins-cli.jar molto probabilmente è stato spacchettato e cache qui: /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar – JamesP

0

Se non si trova alcun comando diretto per l'installazione dei plugin. Si prega di dare un'occhiata a questo link: How to install a plugin in Jenkins manually?

Ma ha bisogno di scaricare il plug-in prima (file *. Hpi) ed eseguirlo manualmente.

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

Perché stai chiamando 'uc.updateAllSites()' più di una volta? È intenzionale? – giorgian

Problemi correlati