使用legacySCM在Jenkins中按标签检出共享库

82次阅读
没有评论

问题描述

在Jenkins中使用legacySCM检出共享库时,希望能够按标签检出。使用modernSCM时可以正常工作,但由于某些原因,他们需要使用其他方式(legacySCM)。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

在Jenkins中使用legacySCM按标签检出共享库,可以通过在retriever参数中传递标签来实现。
以下是一个示例代码片段:

def lib = library identifier: 'jenkins-shared-library', retriever: legacySCM([
  $class: 'GitSCM',
  branches: [[name: '41']],
  extensions: [],
  userRemoteConfigs: [[credentialsId: 'account', url: 'https://website.com.repo.git']]
])

在上面的示例中,我们使用library步骤来加载共享库,并在retriever参数中使用legacySCM作为检出方式。通过在branches参数中指定标签名称(例如41),可以确保检出指定的标签。

方案2

使用@library注解加载共享库是一种更常见的方式,可以避免一些脚本安全性问题。
另一种方法是使用@library注解来加载共享库。这种方式更常见,因为它可以避免一些脚本安全性问题。以下是一个示例代码片段:

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

在上面的示例中,我们使用@library注解来加载共享库,并指定要加载的标签(例如41)。
请注意,使用legacySCM检出方式可能会导致一些限制和问题,建议尽量使用@library注解加载共享库。

总结

在Jenkins中使用legacySCM按标签检出共享库,可以通过在retriever参数中传递标签来实现。另外,使用@library注解加载共享库是一种更常见且更安全的方式。希望以上解决方案对您有帮助。如果您有更多关于Jenkins的问题,建议您访问Jenkins社区论坛进行讨论和提问。

正文完