我已经编写了一个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()
Run Code Online (Sandbox Code Playgroud)
我需要一个启动系统的钩子,并且uc.getPlugin(它)不返回null.
| 归档时间: |
|
| 查看次数: |
5946 次 |
| 最近记录: |