Java Maven和GitHub的版本编号/发布机制

Java Maven和GitHub的版本编号/发布机制,java,git,maven,github,versioning,Java,Git,Maven,Github,Versioning,我正试图找到管理我的工作流程的最佳方法,以允许使用Maven和Git进行版本编号和发布 目前我的工作流程是: 编辑pom.xml以指示新的快照版本“1.2.3-snapshot” 向git提交消息“在1.2.3-SNAPSHOT上开始工作” 进行编码工作,在每次成功的“mvn测试”后提交 对版本满意后,将pom.xml版本编辑为“1.2.3” 提交消息“1.2.3版本” 添加标签“1.2.3” 部署代码(例如,推送到外部Maven存储库) 转到1 我在“主”分支中完成所有工作,除非我需要做一些实

我正试图找到管理我的工作流程的最佳方法,以允许使用Maven和Git进行版本编号和发布

目前我的工作流程是:

  • 编辑pom.xml以指示新的快照版本“1.2.3-snapshot”
  • 向git提交消息“在1.2.3-SNAPSHOT上开始工作”
  • 进行编码工作,在每次成功的“mvn测试”后提交
  • 对版本满意后,将pom.xml版本编辑为“1.2.3”
  • 提交消息“1.2.3版本”
  • 添加标签“1.2.3”
  • 部署代码(例如,推送到外部Maven存储库)
  • 转到1
  • 我在“主”分支中完成所有工作,除非我需要做一些实验性的工作(在这种情况下,我会切换到一个新分支,定期合并)

    这是一个合理的工作流程吗?任何我可以改进它的方法。

    使用应该为您这样做的。发布包括两个步骤:

    • 这将询问您发布的版本、标记名和下一个开发版本
    • 它将构建发布工件并将它们发布到远程maven存储库中
    要实现这一点,您必须在pom文件中配置以下几项:

    • 正确,对于GitHub,它应该如下所示:
    
    scm:git:git://github.com/user/repo.git
    scm:git:git@github.com:user/repo.git
    https://github.com/user/repo/tree/master/
    
    • 适当的地方
      release:perform
      将上载构建的工件

    当你在做这件事时,你应该设置一个GPG密钥,该密钥应该用于。

    是:使用maven release plugin自动化你的工作流程(全部!)@Abhinav-听起来像是一个很有希望的解决方案-也许你可以提供一个简短的答案,详细说明使用release plugin替换上述工作流程的具体步骤?
      <scm>
        <connection>scm:git:git://github.com/user/repo.git</connection>
        <developerConnection>scm:git:git@github.com:user/repo.git</developerConnection>
        <url>https://github.com/user/repo/tree/master/</url>
      </scm>