How to refer a jenkins shared library specific branch

问题描述 投票:0回答:3

我有一个名为“jenkins-shared-library”的 jenkins 共享库的存储库,现在我创建了一个名为“test”的新分支,

我有一个应用程序需要在 jenkins 文件中使用这个 jenkins 共享库,目前它被称为

@Library('jenkins-shared-library')_

我想在我的 jenkinsfile 中使用我的 jenkins-shared-library 的这个特定测试分支,我怎样才能使用 jenkins-shared-library 的特定分支???

jenkins jenkins-pipeline shared-libraries
3个回答
10
投票

看看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"


3
投票

您只需将其声明为即可使用“测试”分支

@Library('jenkins-shared-library@test')_


0
投票

也可以在Manage Jenkins > Configure System

下:Global Pipeline Libraries更改Default version

© www.soinside.com 2019 - 2024. All rights reserved.