【问题标题】:How to build tagged version commit on Jenkins using researchgate/gradle-release如何使用 researchgate/gradle-release 在 Jenkins 上构建标记版本提交
【发布时间】:2017-01-09 03:48:56
【问题描述】:

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

【问题讨论】:

  • 你能解释一下你想要更多的流程吗?在我们的詹金斯工作中,我们使用发布插件,并且 1. 设置发布版本 2. 运行测试并构建发布
  • 抱歉,误按了进入。你能解释一下你想要更多的流程吗?在我们的詹金斯作业中,我们使用发布插件,并且 1. 设置发布版本 2. 运行测试并构建发布 3. 上传工件 4. 创建和推送标签 5. 设置快照版本(或下一个版本) 6. 提交和推送新版本

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


【解决方案1】:

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

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

2017 年 1 月 12 日更新

我决定使用https://wiki.jenkins-ci.org/display/JENKINS/Release+Plugin,Jenkins 工作从主分支和开发分支中提取。 Jenkins发布插件增加了Release页面,可以输入发布版本和下一个快照版本并提交做ff:

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

【讨论】:

    猜你喜欢
    • 2017-02-18
    • 1970-01-01
    • 2012-04-18
    • 2014-06-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 2021-02-19
    • 1970-01-01
    相关资源
    最近更新 更多