我有一个名为“jenkins-shared-library”的 jenkins 共享库的存储库,现在我创建了一个名为“test”的新分支,
我有一个应用程序需要在 jenkins 文件中使用这个 jenkins 共享库,目前它被称为
@Library('jenkins-shared-library')_
我想在我的 jenkinsfile 中使用我的 jenkins-shared-library 的这个特定测试分支,我怎样才能使用 jenkins-shared-library 的特定分支???
看看Shared Libraries Documentation,有几种方法可以跨管道控制共享库的版本。
第一个选项是在 Global Pipeline Libraries 配置中定义版本——这将影响所有使用该库的管道。
第二个选项,这可能是您需要的,是在加载库时使用 version specifier,格式将为
@Library('my-shared-library@<BranchName>')
。版本说明符可以是分支名称、git 标签等。
// Using a version specifier, such as branch, tag, etc
@Library('[email protected]') _
// Accessing multiple libraries with one statement
@Library(['my-shared-library', 'otherlib@abc1234']) _
重要如果您想覆盖Global Pipeline Libraries中定义的默认库的版本,您必须在共享库的配置中启用Allow default version to be overridden - 否则您将无法使用自定义版本。
动态加载库时(使用
library
步骤),您还可以指定一个版本:library 'my-shared-library@master'
,因为这是一个常规步骤,版本可以在运行时计算,而不是像注释那样使用常量值.library "my-shared-library@$BRANCH_NAME"
您只需将其声明为即可使用“测试”分支
@Library('jenkins-shared-library@test')_