如何使用researchgate / gradle-release在Jenkins上构建标记版本提交

时间:2017-01-09 03:48:56

标签: jenkins jenkins-plugins gradle-release-plugin

我正在使用Jenkins,这是唯一一个允许发布到我们的maven存储库的程序,以及gradle-release插件来标记版本并转移到新的快照版本。我注意到标记版本没有构建,因为推送发生在新快照版本提交之后 - 因此Jenkins构建新的快照版本并跳过标记版本。有没有办法配置gradle-release插件,在标记版本之后首先进行推送,然后再次推送新的快照版本?

1 个答案:

答案 0 :(得分:1)

我查看了插件的源代码并在本地安装它以查看它是如何工作的。事实证明,createReleaseTag任务和commitNewVersion任务实际上执行了单独的推送。我还检查了提交,发现它们有不同的时间戳。我估计虽然我们的GitLab可能已经向Jenkins webhook发出两次调用,但两次提交之间的短暂时间是微不足道的,当Jenkins为由createReleaseTag触发的更改提取更新时,由commitNewVersion已经被拉了过来。

我现在想到的解决方案是为分支和标签创建单独的Jenkins作业,或者在createReleaseTagcommitNewVersion之间引入一些时间延迟。

2017年1月12日更新

我决定使用https://wiki.jenkins-ci.org/display/JENKINS/Release+Plugin Jenkins工作从主人和开发分支机构撤出的地方。 Jenkins发布插件添加了一个Release页面,其中可以输入发布版本和下一个快照版本并提交以执行ff:

  • 查看大师
  • 运行默认作业(应该运行测试)
  • 运行发布任务
  • 查看新标记的版本
  • 运行发布任务