jenkins - 詹金斯:“无法初始化类 org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist”
问题描述
(至少)我的 Jenkins CI 工作之一突然停止工作。似乎 Jenkins 运行时找不到它的预期类之一。以前有没有人见过这个错误,并且知道可能是什么原因造成的?我在 Debian 上运行 2.212 版。脚本安全插件正在运行 1.68 版。
Started by user John Doe
Obtained Jenkinsfile from git ssh://git@git.acme.com:7999/my/repo.git
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] End of Pipeline
java.lang.NoClassDefFoundError: Could not initialize class org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onStaticCall(SandboxInterceptor.java:183)
at org.kohsuke.groovy.sandbox.impl.Checker$2.call(Checker.java:189)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedStaticCall(Checker.java:193)
at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:100)
at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
at WorkflowScript.run(WorkflowScript)
at ___cps.transform___(Native Method)
at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:86)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:113)
at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixName(FunctionCallBlock.java:78)
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 com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
at com.cloudbees.groovy.cps.Next.step(Next.java:83)
at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:129)
at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:268)
at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:185)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:405)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:96)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:317)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:281)
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:131)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE
更新:我将脚本安全插件降级到 1.67 版,现在工作正常。
解决方案
更新:
升级到Jenkins 版本 2.213解决了这个问题。
修复包含库 JAR 的插件的插件类资源加载失败。至少已知脚本安全和活动目录插件会受到影响。(2.112 中的回归)(issue 60641,issue 60644)
原答案:
这是Script Security Plugin 1.68 和 Jenkins 2.212的已知问题(JENKINS-60644和JENKINS-60641 )。
建议降级到Jenkins 2.211。
警告:此版本 [2.212] 引入了关键回归,请参阅 JENKINS-60644。请避免更新到此版本。
推荐阅读
- tableau-api - 计算字段影响 Tableau 中的总计
- iis - KB5005043 影响解密 web.config?
- c# - C# VSIX 模板:尝试使用自定义向导会导致程序集引用错误
- kubernetes - 在 minikube 中从 yaml 文件创建部署
- python - For循环和嵌套If语句比较,Python中的简化
- javascript - 如何让背景在图像之间随机播放?
- c# - 使用 C# 从 excel 表中读取复选框控件值
- javascript - 如何使用 forEach 循环 javascript 向下计数
- jquery - 使用 jquery 循环查找带有 DOM 的输入元素的值
- python - 我无法使此代码正常工作,我收到错误“TypeError:”
'需要字符串作为左操作数,而不是列表'