git - 如何从 Git 标签在 Jenkins 中创建发布号?

标签 git maven jenkins

如何根据 Git 标签设置 Jenkins 构建的版本?

我现在在做什么:

  1. 使用 Maven 版本插件根据 Jenkins 构建号设置当前构建的发布版本,例如新版本=1.1.$BUILD_NUMBER
  2. 使用 Maven 构建和部署项目
  3. 使用 Git Publisher 使用内部版本号标记 Git 中的内部版本,例如MYPROJECT_BUILD-1.1.$BUILD_NUMBER

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

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

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

最佳答案

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

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

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

关于git - 如何从 Git 标签在 Jenkins 中创建发布号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27783434/

相关文章:

Jenkins bitbucket oauth 插件 - 限制登录团队

git - 在远程主分支上 merge

java - 如何在将 jar 安装到 m2 存储库时下载 jar 依赖项

git - 本地忽略 GIT 子模块

java - 加载应用程序属性时出现加密异常(Java jasypt 加密)

使用 Maven 的 Java 无法构建 : Cannot run program "cmd" "Malformed argument has embedded quote"

jenkins - 将 jenkins 管道中的参数传递给内部 groovy 脚本

unix - 如何使用 ant 将文件从 Unix 共享复制到 Windows 机器?

git - 可以通过提交添加私有(private)文件(未推送)吗?

git - 如何确定 Git 提交是否包含在发布中?