Jenkins从Git标签创建构建

3

那么你确切地放了什么到Refspec和分支指示器中呢? - 1615903
1
可能是Jenkins / Git插件/构建特定标签的重复问题。 - mjallday
1
不是重复的问题。那个问题是关于特定标签的参数化构建。这个问题是关于轮询所有标签。 - nschum
1个回答

1
我的任务是让Jenkins每次构建所有标签。标签可以逐个推送或一起推送。每次触发构建时,也应该构建主分支。
我还遵循了这个教程,在一个项目中它对我有效,在另一个项目中则无效。所有的Jenkins设置都是相同的,但在一个项目中,标签是由第三方构建工具(leiningen)设置的,它可以正常工作。在另一个项目中,它们是手动设置的(git tag TAG_NAME),但它却不能正常工作。
经过一些研究,发现标签必须是注释过的git tag -a TAG_NAME -m "Message")或签名的(git tag -s TAG_NAME -m "Message")。Leiningen在内部生成签名的标签。
否则,当进行非提示过滤时,Jenkins会过滤掉标签。(如果您通过使用-Dhudson.plugins.git.GitSCM.verbose=true选项启动Jenkins来打开详细日志记录,则可以看到它)。在我的情况下,它过滤掉了所有标签,并仅构建了主分支。
您可以通过在Jenkins工作区目录(<Jenkins>/jobs/<project_name>/workspace)中运行git log来查看已注释的标签和未注释的标签。
已注释的日志如下:
tag: annotated-tag, tag: origin/tags/annotated-tag

虽然未标注的标签在远程引用之前缺少tag:前缀:
tag: unannotated-tag, origin/tags/unannotated-tag

希望这有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接