问题描述
在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社区论坛进行讨论和提问。
正文完