Jenkins Pipeline中外部库与内部库如何区分?
Jenkins Pipeline 内外部共享库差异及定义确认
你的判定逻辑和官方定义的核心边界基本吻合,两类库的明确区分规则、以及你提到的libraryResource特性差异说明如下:
两类库的官方定义边界
- 内部库:直接存放在当前流水线拉取的、承载Jenkinsfile的同一代码仓库内的共享逻辑,默认识别仓库根目录下的
vars/、src/目录下的Groovy逻辑,不需要在Jenkins配置中提前登记库地址,拉取业务代码后即可直接加载调用。 - 外部库:独立于当前业务代码仓库存在的共享库,需要提前在Jenkins全局配置、文件夹配置或任务配置中登记库的源地址、版本分支等信息,使用时必须通过
@Library('库名')注解或library步骤显式导入后才能调用。
libraryResource 特性差异说明
你在官方文档中看到的特性描述完全准确:
现有版本的Jenkins Pipeline中,仅外部库支持通过
libraryResource步骤加载库内resources/目录下的非Groovy资源文件(包括Shell脚本、配置模板、静态配置文件等),内部库暂不支持该步骤的调用。
如果内部库需要加载同仓库下的非Groovy资源,直接使用流水线工作区的相对路径读取即可,不需要走libraryResource步骤。
内容的提问来源于stack exchange,提问作者ksato
相关产品推荐
相关产品推荐

