我正在使用 Jenkins,它是唯一允许发布到我们的 maven 存储库的工具,以及 gradle-release 插件来标记版本并移动到新的快照版本。我注意到没有构建标记版本,因为推送发生在提交新快照版本之后 - 因此 Jenkins 构建新快照版本并跳过标记版本。有没有办法将 gradle-release 插件配置为首先在标记版本之后进行推送,然后再为新的快照版本进行推送?
问问题
1310 次
1 回答
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:
- 看看师傅
- 运行默认作业(应该运行测试)
- 运行发布任务
- 查看新的标记版本
- 运行发布任务
于 2017-01-09T05:24:09.283 回答