![](/img/trans.png)
[英]jenkins does not trigger build when a new tag is pushed on the same commit
[英]jenkins trigger build if new tag is released
我想配置 jenkins 以便在 git 存储库的任何分支中发布新标签时它开始构建。 如何配置此行为?
触发:
谢谢你的帮助
将 refspec 设置为: +refs/tags/*:refs/remotes/origin/tags/*
分支说明符: **
在构建触发器下检查构建时将更改推送到 GitHub
你说的新标签是什么意思? 它有一些模板名称吗?
您当然可以在Advanced --> Refspec --> refs/tags/{tagname}
定义它。
您甚至可以使用refs/tags/*
来查找真正的任何新标签。
请注意,如果 stanjer 提供的答案中的方法指向之前构建的提交,则不会使 Jenkins 在新标签上触发构建。 例如,您标记版本 v1.0.0(以使 jenkins 部署此版本),然后在将来您必须回滚到 v1.0.0,再次标记其提交,但是使用 v1.0.0-rollback,Jenkins 不会部署您的回滚,因为它将检查标签指向的哈希值,而不是标签本身的哈希值。
总而言之,jenkins 只会在指向尚未标记的提交时构建新标记,并且目前无法调整。
如果可以将 Jenkins 用作 CD 工具,使用标签进行部署和回滚,那就太棒了。
更多信息在这里https://groups.google.com/forum/#!msg/jenkinsci-users/mYxtDNMz1ZI/xbX9-xM9BQAJ
以前对我不起作用。 在我的情况下,单引号中的 refspec 工作:
Refspec : '+refs/tags/*':'refs/remotes/origin/tags/*'分支说明符:**/tags/**
我有詹金斯 2.120。 要使由标签触发的作业工作需要执行以下步骤:
创建工作:
Refspec : '+refs/tags/*':'refs/remotes/origin/tags/*'
分支说明符:**/tags/**
运行构建
将相同的作业重新配置为参数:
Refspec : '+refs/tags/*':'refs/remotes/origin/tags/*'
分支说明符:**
运行构建
将相同的作业重新配置为参数:
Refspec : '+refs/tags/*':'refs/remotes/origin/tags/*'分支说明符:**/tags/**
运行构建
只有在这个神奇的步骤之后,当我标记分支时,它才会自动触发 Jenkins
他们发布了一个新的“buildingTag”,可以在 when 块中使用。
buildingTag - A simple condition that just checks if the Pipeline is running against a tag in SCM, rather than a branch or a specific commit reference.
结合@albertski 和@Sergey 的答案对我有用。
路径: Jenkins > {YourJob} > Configure > Pipeline > Definition (Pipeline script from SCM) > SCM (Git)
选项:
存储库>高级... > Refspec +refs/tags/v*:refs/remotes/origin/tags/v*
要构建的分支>分支说明符(“任何”为空) **/tags/v*
如果希望构建标签以 v 开头,请设置 v*,例如 v0.1.0、v1.0.5...
@albertski 回答有效,但不要忘记以下附加设置: 1. 从 Bitbucket 到 Jenkins 的设置挂钩 2. 需要检查轮询 SCM
您可以通过从您的 bitbucket 存储库中的提交添加新的 git 标签来测试触发器。
我真的坚持这一点,因为我勾选了“删除工作区”,但是构建需要一个现有的工作区来进行比较。 所以我做了以下事情:
'+refs/tags/*':'refs/remotes/origin/tags/*'
refs/tags/{A SPECIFIC TAG}
refs/tags/**
现在应该可以了。 您需要注意的日志中的消息是Multiple candidate revisions
这意味着当 Git 从远程获取然后应用分支说明符时,有多个匹配项,因此它只选择列表中的第一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.