Jenkins Plugin Management no Groovy

Postado originalmente em http://aespinosa.github.io/blog/2014-10-17-jenkins-plugin-management-in-groovy.html

Em conjunto com o Hábito # 4 (Cuide do seu jardim de plugins) em [1]. Quero
ter apenas os plug-ins que desejo em minha implantação do Jenkins. Para o meu caso de uso, não quero
ter plug-ins vanilla implantados como o plug-in CVS. Esta é uma maneira de desabilitar
todos os plug-ins no início.

plugins = Jenkins.instance.pluginManager.plugins
plugins
.each {
it
.disable()
}

Instalação de Plugin

Em vez de fazer o gerenciamento de configuração externa baixar o .hpi / .jpi e lutar
com as dependências você mesmo, você pode aproveitar as vantagens das
chamadas Java integradas do Jenkin para fazer exatamente a mesma coisa. Com isso, você pode instalar um plugin a
partir do console de script.

Jenkins.instance.updateCenter.getPlugin("git").deploy()

Habilite as dependências de um plugin

Na seção anterior, algumas das dependências serão desabilitadas mesmo que
tenham sido atualizadas para a versão exigida pelo plugin Git devido à primeira
etapa que fizemos para desabilitar todos os plug-ins. Aqui, obtemos todas as dependências
e subdependências do plugin para habilitá-los.

git = pm.getPlugin("git")

def deployPlugin(plugin) {
if (! plugin.isEnabled() ) {
plugin
.enable()
}
plugin
.getDependencies().each {
deployPlugin
(pm.getPlugin(it.shortName))
}
}

deployPlugin
(git)

[1] http://www.slideshare.net/andrewbayer/seven-habits-of-highly-effective-jenkins-users-2014-edition