如何从 Git 标签在 Jenkins 中创建版本号



如何基于 Git 标签设置 Jenkins 构建的版本?

我目前正在做什么:

  1. 使用 Maven 版本插件从 Jenkins 内部版本号设置当前构建的发布版本,例如 newVersion=1.1.$BUILD_NUMBER
  2. 使用 Maven 构建和部署项目
  3. 使用 Git
  4. 发布服务器使用内部版本号标记 Git 中的构建,例如 MYPROJECT_BUILD-1.1.$BUILD_NUMBER
我想

做什么:我想从 Git 标签中提取最后一个内部版本号并递增它,而不是使用 Jenkins BUILD_NUMBER

  1. 从 Git 获取与给定模式匹配的最新标记,例如 MYPROJECT_BUILD-.*
  2. 从标记中提取内部版本号并将其递增
  3. 使用 Maven 构建和部署项目
  4. 使用 Git
  5. 发布服务器使用递增的内部版本号在 Git 中标记内部版本,例如 MYPROJECT_BUILD-1.1.124

实现这一目标的最佳方法是什么?

Git 并不真正了解 Maven。Git 应该驱动编号有什么具体原因吗?

恕我直言,Maven是更好的选择。它知道你的源代码管理(如果你已正确配置<scm>),并知道版本是什么,以及它是发布还是快照。

通过Maven + Git + Jenkins的组合,我们对发布插件非常满意:它拍摄您的快照,执行Maven发布并在Git中标记它,并将更改提交到下一个快照(您定义该版本号)。

最新更新