我正在使用Jenkins,这是唯一一个允许发布到我们的maven存储库的程序,以及gradle-release插件来标记版本并转移到新的快照版本。我注意到标记版本没有构建,因为推送发生在新快照版本提交之后 - 因此Jenkins构建新的快照版本并跳过标记版本。有没有办法配置gradle-release插件,在标记版本之后首先进行推送,然后再次推送新的快照版本?
答案 0 :(得分:1)
我查看了插件的源代码并在本地安装它以查看它是如何工作的。事实证明,createReleaseTag
任务和commitNewVersion
任务实际上执行了单独的推送。我还检查了提交,发现它们有不同的时间戳。我估计虽然我们的GitLab可能已经向Jenkins webhook发出两次调用,但两次提交之间的短暂时间是微不足道的,当Jenkins为由createReleaseTag
触发的更改提取更新时,由commitNewVersion
已经被拉了过来。
我现在想到的解决方案是为分支和标签创建单独的Jenkins作业,或者在createReleaseTag
和commitNewVersion
之间引入一些时间延迟。
2017年1月12日更新
我决定使用https://wiki.jenkins-ci.org/display/JENKINS/Release+Plugin Jenkins工作从主人和开发分支机构撤出的地方。 Jenkins发布插件添加了一个Release页面,其中可以输入发布版本和下一个快照版本并提交以执行ff: