我有两个 Jenkins 都使用相同的版本 2.289.3。一个插件工作正常(插件版本 1.54),但另一个插件失败,错误代码如下。插件扩展失败
io.jenkins.plugins.casc.ConfiguratorException: No configurator for the following root elements jobs
at io.jenkins.plugins.casc.ConfigurationAsCode.invokeWith(ConfigurationAsCode.java:734)
at io.jenkins.plugins.casc.ConfigurationAsCode.checkWith(ConfigurationAsCode.java:776)
at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:761)
at io.jenkins.plugins.casc.ConfigurationAsCode.configureWith(ConfigurationAsCode.java:637)
at io.jenkins.plugins.casc.ConfigurationAsCode.configure(ConfigurationAsCode.java:306)
at io.jenkins.plugins.casc.ConfigurationAsCode.init(ConfigurationAsCode.java:298)
Caused: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:104)
这两个 Jenkins 运行不同的配置存储库,但主要文件都是相同的。我从启动的plugins.txt 文件中删除了该插件,并尝试将其安装在正在运行的 Jenkins 上,但是当我重新启动 Jenkins 时,这会导致同样的问题(下图和错误)
org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException
我还尝试从其他没有问题的存储库复制插件,但在这里它一直失败。任何关于问题可能是什么的建议都会很棒
我的问题的解决方案是我缺少另一个插件。有问题的插件是
job-dsl
- 特别是该插件的 1.74 版本。我发现一些后来的版本也引起了问题所以不得不将其固定到1.74
对我来说,问题在于改变以下内容:
groovy:
groovy:
- script: |
至:
groovy:
- script: >
在 jenkins.yaml casc 文件中。