无法运行Jenkins共享库流水线:拉取成功但加载失败求助
Jenkins共享库加载失败问题
问题描述
Jenkins实例可拉取Bitbucket上的共享库,但加载时失败,已确认使用最新版Groovy Pipeline插件,问题原因待排查。
已执行操作
- 更新所有相关插件
- 重启Jenkins服务器
错误日志
> C:\Program Files\Git\bin\git.exe ls-remote -h -- git@bitbucket.org:***/jenkinslibrary.git # timeout=10 Found match: refs/heads/main revision f56d212d13db054faf6090ec4b77f31d25366c59 java.nio.file.FileSystemException: X:\workspaces\Bitbucket_Shared_Library2@libs: Unable to determine if root directory exists at java.base/java.nio.file.Files.createDirectories(Files.java:782) at hudson.FilePath.mkdirs(FilePath.java:3756) at hudson.FilePath$Write.invoke(FilePath.java:2561) at hudson.FilePath$Write.invoke(FilePath.java:2549) at hudson.FilePath.act(FilePath.java:1236) at hudson.FilePath.act(FilePath.java:1219) at hudson.FilePath.write(FilePath.java:2546) at org.jenkinsci.plugins.workflow.libs.SCMBasedRetriever.doRetrieve(SCMBasedRetriever.java:198) at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:79) at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:264) at org.jenkinsci.plugins.workflow.libs.LibraryAdder.add(LibraryAdder.java:151) at org.jenkinsci.plugins.workflow.libs.LibraryDecorator$1.call(LibraryDecorator.java:125) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1087) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:624) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:602) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:579) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:323) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:293) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox$Scope.parse(GroovySandbox.java:163) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:190) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:175) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:635) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:581) at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:335) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: Loading libraries failed 1 error at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1107) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:624) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:602) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:579) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:323) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:293) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox$Scope.parse(GroovySandbox.java:163) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:190) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:175) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:635) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:581) at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:335) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Finished: FAILURE
附加配置信息
截图显示Jenkins共享库的SCM配置:指向Bitbucket的jenkinslibrary仓库,使用Git协议,目标分支为main。
解决方案建议
1. 检查工作目录权限
- 确认Jenkins服务运行用户对
X:\workspaces\Bitbucket_Shared_Library2@libs目录及其父目录拥有读写、创建/删除目录的权限 - Windows系统下,右键目录→属性→安全,添加Jenkins服务用户(如Local System或自定义运行账户)的完全控制权限
2. 验证工作空间路径有效性
- 若X:为网络共享盘,尝试将Jenkins工作空间切换到本地磁盘(如C盘),排除网络挂载的连接或权限问题
- 检查路径是否包含特殊字符、空格或过长路径,避免触发文件系统限制
3. 清理共享库缓存
- 手动删除Jenkins缓存目录:
JENKINS_HOME\caches\org.jenkinsci.plugins.workflow.libs - 重启Jenkins后重新运行流水线,让系统重新拉取并缓存共享库
4. 确认Git访问可用性
- 在Jenkins服务器上,以Jenkins服务用户身份执行
git clone git@bitbucket.org:***/jenkinslibrary.git,验证是否能正常克隆仓库 - 检查SSH密钥配置:确保Jenkins服务用户能读取私钥文件,且公钥已添加到Bitbucket账户的SSH密钥列表中
内容的提问来源于stack exchange,提问作者bugsy5923
相关产品推荐
相关产品推荐

