Jenkins插件安装

时间:2015-07-16 14:50:10

标签: groovy jenkins

我已经编写了一个Jenkins Groovy脚本,用于在启动时安装Jenkins插件。 Groovy脚本以用于调用脚本的Hook命名。例如。在init-Hook中触发init.groovy。此挂钩在初始化后触发。

在初始化期间,我无法访问UpdateCenter,无法安装插件。我可以使用其他Jenkins Hooks吗?在我看来,我需要一个启动后的Hook。

此脚本适用于脚本控制台,但不适用于初始化后的挂钩:

import jenkins.model.*

def pluginParameter="gitlab-plugin hipchat swarm"
def plugins = pluginParameter.split()
println(plugins)
def instance = Jenkins.getInstance()
def pm = instance.getPluginManager()
def uc = instance.getUpdateCenter()
def installed = false

plugins.each {
  if (!pm.getPlugin(it)) {
    def plugin = uc.getPlugin(it)
    if (plugin) {
      println("Installing " + it)
      plugin.deploy()
      installed = true
    }
  }
}

instance.save()
if (installed)
instance.doSafeRestart()
  

我需要一个启动系统的钩子,而uc.getPlugin(它)不会返回null。

1 个答案:

答案 0 :(得分:8)

通过询问jenkins-irc频道解决了这个问题。我需要初始化UpdateCenter的更新站点列表。结果可以在这里找到: blacklabelops/jenkins