在gerrit提交发生后,我有一个工作触发。此作业发布新版本,即运行maven目标以增加版本,然后构建新的war伪像。我面临的问题是,如果我连续提交3个更改,则所有三个都将触发jenkins工作。让我们说,当提交第一个提交时,项目版本为v1.2.3
。
o---------x----o----o
1:v1.2.3 J 2 3
当合并第一个提交时,Jenkins开始从该分支上的该提交中释放新版本。然后又有2个提交进来.Jenkins完成了版本的发布并标记了发布,但是提交丢失了,因为它与提交1
不同。
o----------o----------o
1:v1.2.3 2:v1.2.4 3
\
\___ v1.2.4 + tag:v1.2.4
标签存在于系统中,但对于其他两个提交,新版本几乎不存在。然后他们尝试根据v.1.2.3进行更新和标记,标记1.2.4存在且过程失败。
在同一分支上提交新提交后,是否有办法将上述流程更改为更强大或中止初始构建?
答案 0 :(得分:0)
你需要使用" git tag --force"创建标签。
-f, --force
Replace an existing tag with the given name (instead of failing)
或者在Jenkins上使用Git Plugin的GitPublisher功能。