You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现从本地目录加载Jenkins共享库?

如何从本地目录加载Jenkins共享库?

核心思路

官方支持的http/nexus/legacySCM/modernSCM共享库检索器都需要先打包或提交至代码仓库,在开发测试阶段反复操作太繁琐。本质上所有检索器最终都是把共享库文件放到Jenkins可访问的目录,所以我们可以直接让Jenkins读取本地目录的共享库,实现修改后直接触发流水线测试,无需额外打包/提交操作。

实现方法

方法一:全局配置(推荐长期使用)

通过Jenkins全局配置添加本地目录作为共享库源,所有流水线都能直接引用:

  1. 进入Jenkins管理后台 → 「系统管理」→ 「全局流水线库」
  2. 点击「添加」,填写共享库的名称(比如local-shared-lib,后续流水线用这个名称引用)
  3. 检索方法选择「现代SCM(modernSCM)」
  4. SCM类型选择「文件系统(FileSystem SCM)」,填入Jenkins服务器上的共享库本地绝对路径(例如/opt/jenkins-shared-lib)
  5. 「默认版本」可留空(本地目录直接读取当前内容),完成后保存配置

在流水线脚本中引用该共享库:

@Library('local-shared-lib') _
// 这里可以直接调用共享库中的方法,比如:
mySharedLibMethod()

方法二:单流水线临时引用(适合临时测试)

不想修改全局配置的话,可以在单个流水线脚本中直接指定本地目录加载:

// 直接加载指定本地目录的共享库
library identifier: 'local-lib@', retriever: modernSCM(scm: fileSystemSCM('/opt/jenkins-shared-lib'))

// 调用共享库方法
mySharedLibMethod()

注意事项

  • 确保Jenkins运行进程的用户(通常是jenkins用户)对目标本地目录拥有读取权限,否则会出现加载失败的权限错误
  • 本地共享库要遵循Jenkins共享库的标准目录结构:vars/(存放全局变量/方法脚本)、src/(存放类文件),否则Jenkins无法识别

内容的提问来源于stack exchange,提问作者Iresh Dissanayaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 09:45:54