Jenkins 使用Git SCM设置全局管道库时,将${library.pipeline utils.version}放在何处

Jenkins 使用Git SCM设置全局管道库时,将${library.pipeline utils.version}放在何处,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我正在尝试设置一个全局管道库,该库将使用@library()per显式加载。在从master branch加载默认库版本方面,我可以很好地工作 我不能做的是弄清楚如何配置东西,以便它可以使用库('lib')根据请求加载不同的分支-name@branch-名称“)语法 说明书上说: 使用旧版SCM时,您需要在SCM配置的某个位置包含${library.pipeline utils.version} 我已经尝试使用${library.pipeline utils.version}作为分支说明符的值,

我正在尝试设置一个全局管道库,该库将使用
@library()
per显式加载。在从master branch加载默认库版本方面,我可以很好地工作

我不能做的是弄清楚如何配置东西,以便它可以使用
库('lib')根据请求加载不同的分支-name@branch-名称“)
语法

说明书上说:

使用旧版SCM时,您需要在SCM配置的某个位置包含${library.pipeline utils.version}

我已经尝试使用
${library.pipeline utils.version}
作为
分支说明符的值,这是我唯一可以考虑放置它的逻辑位置。但那只会破坏一切。尝试加载库失败,原因是:

Fetching upstream changes from ssh://git@stash:7999/jen/pipeline-utils.git
 > git --version # timeout=10
 > git fetch --tags --progress ssh://git@stash:7999/jen/pipeline-utils.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/${library.pipeline-utils.version}^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/${library.pipeline-utils.version}^{commit} # timeout=10
 > git rev-parse origin/${library.pipeline-utils.version}^{commit} # timeout=10
ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.
这让我觉得我把变量放在了正确的位置,但詹金斯没有插值它。(虫子?)


这是使用Jenkins 2.7.1和管道版本2.4进行的设置,使用版本变量
${library.CpsGlobal.version}
分支来构建/分支说明符

另外,请从库名称中删除“
-
”字符,因为Groovy不支持它。

对我有用:

  • 库名称:testlib
  • 默认版本:branchname
  • 要生成的分支:${library.testlib.version}

现在终于有了一个适用于Git的“现代scm”实现,它可以在我们使用它时正常工作。

很好地找到了这个插件,现在我知道有一个插件存在。使用自己发明的技巧完成类似的任务。如果我能自己处理,我会回答你的问题。这是显而易见的答案,我对此感到厌倦。现在我有了最新的管道版本,计划再试一次。我会让你知道事情的进展。回复:Goovy不支持库名称中的连字符,你能澄清一下吗?据我理解,这不是一件很棒的事情,而是詹金斯的事情。在groovy中,它只不过是传递到@Library属性的字符串arg而已。@luka5z我过去曾尝试使用环境变量定义分支说明符,但这些尝试都失败了。Jenkins不会插入变量,例如
${BRANCH\u SELECTOR}
。您是否知道为什么这适用于
${library.CpsGlobal.version}
而不适用于使用环境变量?或者,如果它可以工作,那么需要什么版本的SCM和/或管道插件?即
ps。请从库名称中删除“-”字符,因为Groovy不支持它。
保存了我!我快发疯了,为什么我的分支没有被签出,为什么那个变量没有被替换!有没有官方文件的链接可以这样说?因为我在任何地方都找不到它,您可以指定您所指的现代scm吗?这是一个新插件还是现有SCM插件的新版本?链接会很有用。