我正在尝试配置Jenkins以使用git的标签创建构建。所以我想要的是开发人员创建一个标签(在任何分支中),Jenkins将负责新的构建。
我遵循了本教程,但我没有管理它,有人可以帮助我吗?
http://erics-notes.blogspot.nl/2013/05/jenkins-build-latest-git-tag.html
答案 0 :(得分:1)
我的任务是让Jenkins一次构建每个标签。标签可以一个接一个地推或全部一起推送。每次触发构建时,也应该构建主分支。
我也遵循了这个教程,它在一个项目中为我工作,而在另一个项目中没有工作。
所有Jenkins设置都是相同的,但在一个项目中,标签是由第三方构建工具(leiningen)设置的,它运行正常。在另一个项目中,他们是手动设置的(git tag TAG_NAME
),但它没有工作。
经过一些研究后发现标签必须注明(git tag -a TAG_NAME -m "Message"
)或签名(git tag -s TAG_NAME -m "Message"
)。莱宁根内部制作了签名标签。
否则,Jenkins会在进行非小费过滤时过滤掉标签。 (如果通过使用-Dhudson.plugins.git.GitSCM.verbose=true
选项启动jenkins来打开详细日志记录,则可以看到它)。在我的情况下,它过滤掉所有标签并仅构建主机。
您可以通过在Jenkins工作空间目录(git log
)中运行<Jenkins>/jobs/<project_name>/workspace
来告知带注释的标记未注释。
带注释的日志显示为:
tag: annotated-tag, tag: origin/tags/annotated-tag
虽然未注释的标签在远程ref:
之前缺少tag:
前缀
tag: unannotated-tag, origin/tags/unannotated-tag
希望有所帮助!