2016-01-13 14 views

Odpowiedz

19

Jak na Jenkins command line interface documentation, trzeba użyć klient plik JAR (nie pliku WAR Serwer używasz), które można uzyskać bezpośrednio od Jenkins, na przykład poprzez linki na http://localhost:8080/cli

Następnie można uruchomić komendę przy użyciu tego JAR:

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

To będzie pobierał zainstalować wtyczkę chcesz, wraz z któregokolwiek z jego zależnościami.

+7

Jeśli uruchomić Jenkins Od pliku war wtedy Jenkins-cli.jar najprawdopodobniej zostały rozpakowane i buforowane tutaj: /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

Dlaczego wywołujesz 'uc.updateAllSites()' więcej niż raz? Czy jest to zamierzone? – giorgian

Powiązane problemy