Jenkins在加载插件之前执行Groovy脚本



在加载插件之前,我需要更改一些插件配置文件。我研究了init.groovy.d,但它似乎在加载插件后在该目录中运行Groovy脚本,因此需要重新启动才能应用。有没有办法在Jenkins加载插件之前运行Groovy脚本?

您的请求不是必需的。通常,在添加插件时,它们是未配置的。Jenkins启动并加载插件,然后您可以通过init.groovyCasC等进行配置,类似于通过GUI进行添加(添加、重新启动、配置(。

我们从war文件、包装器、init.groovy.d以及dockerinstall_plugins.sh的一个变体开始。除了war之外,wrapper和wrapper.conf、install_plugins.sh和插件列表以及所有init脚本都在git repo中控制,我们将其下拉。将插件转储到插件目录中,然后启动jenkins.sh

init.groovy在初始化后自动运行,并配置所有系统、全局、工具和插件值以及凭据值,同时创建/配置节点。

注意:最好每个部分或插件使用一个init脚本,因为任何init脚本中的失败都会悄悄失败,有效地跳过了脚本的其余部分

在通过init.goovy设置了大多数参数后,您可能需要.save()。也许这就是您没有看到更改的原因。

如果你真的很偏执,你可以先调用Hudson.instance.doQuietDown(),它有效地阻塞了队列(多个init.groovy脚本按词法顺序执行(,完成所有配置,然后调用doCancelQuietDown(),但没有这个问题。

这种方法(init.groovy.d(工作得很好,但现在它已经成熟了,希望切换到JCasC。CasC是一个更易于管理和读取的插件(同样,为每个插件使用单独的配置文件(。

最新更新