Jenkins流水线拉取Git标签失败:报错无法找到构建版本
错误原因分析
scmGit拉取标签的语法错误
Jenkins的scmGit步骤中,branches参数是用于指定分支的。如果要拉取标签,需要明确指定标签的完整引用路径refs/tags/t_int_dev,或者改用tags参数配置。直接写标签名t_int_dev时,Jenkins会默认按分支去查找,自然找不到对应版本。
正确的拉取标签写法示例:checkout scmGit( branches: [[name: 'refs/tags/t_int_dev']], userRemoteConfigs: [[credentialsId: creds, url: repo ]])或者:
checkout scmGit( tags: [[name: 't_int_dev']], userRemoteConfigs: [[credentialsId: creds, url: repo ]])标签推送后的远程同步延迟
即使本地执行了git push -f origin t_int_dev,远程仓库可能存在短暂的同步延迟(比如仓库有镜像同步、网络延迟等情况),导致Jenkins尝试拉取时,远程仓库还未完全同步这个新标签,从而报找不到版本的错误。凭据权限不足
Jenkins流水线使用的凭据creds可能仅拥有分支读写权限,但没有访问标签引用的权限;或者标签推送后,远程仓库的权限配置未及时生效,导致Jenkins无法读取到这个新创建的标签。
内容的提问来源于stack exchange,提问作者mike01010
相关产品推荐
相关产品推荐

