【问题标题】:build version number for web-applications [war]?构建网络应用程序的版本号 [战争]?
【发布时间】:2011-02-25 00:06:33
【问题描述】:

您如何为战争文件保留构建版本号?

在 ant 中,在 maven 中?

有没有办法简化事情?

另外,您如何保存更改日志? [也就是说,版本号可以说明自上次构建以来新版本的变化情况]?

【问题讨论】:

  • 您使用的是什么源代码控制?除非您有某种形式的 SCM,否则“内部版本号”实际上并没有任何意义。我可以构建一个包十次,但除非我更改代码,否则我真的不希望构建号增加。
  • @ason​​mp85 svn,但是如果我不想将它绑定到svn源版本怎么办?

标签: java maven-2 ant build


【解决方案1】:

我们在 Maven 中管理版本号。然后,当我们需要发布时,我们使用 maven 发布插件来增加版本号。此工具还确保在 SVN 中标记更改。看: http://maven.apache.org/plugins/maven-release-plugin/index.html

当您使用此工具执行发布时,会执行以下步骤:

  • 检查源中没有未提交的更改
  • 检查是否没有 SNAPSHOT 依赖项
  • 将 POM 中的版本从 x-SNAPSHOT 更改为新版本(系统会提示您选择要使用的版本)
  • 转换 POM 中的 SCM 信息以包含标签的最终目的地
  • 针对修改后的 POM 运行项目测试,以确认一切正常
  • 提交修改后的 POM
  • 用版本名称标记 SCM 中的代码(将提示输入)
  • 将 POM 中的版本添加到新值 y-SNAPSHOT(也会提示输入这些值)
  • 提交修改后的 POM

这些步骤对于大多数发布过程来说已经足够了。

【讨论】:

    【解决方案2】:

    我使用 SVN,这样我可以访问所有更改,还可以访问整个团队的全局团队版本(由 svn commit 版本提供)。

    【讨论】:

      【解决方案3】:

      ANT 有一个buildnumber 任务,Maven 有一个build number 插件,但理想情况下,您要做的是设置一个continuous integration 环境来管理您的构建。有一些很好的持续集成服务器可用,我个人非常喜欢使用Hudson。您可能希望将构建连续服务器与版本控制系统同步。每个版本控制系统都略有不同,但都应该有一种标记或版本控制源代码的方式。 Hudson(与其他持续集成服务器一样)有许多插件可以安装用于各种任务,其中包括 source control

      【讨论】:

        【解决方案4】:

        Ivy 有一个buildnumber 任务,它根据已发布到您的存储库中的模块计算内部版本号。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-09-14
          • 1970-01-01
          • 2016-04-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-11
          • 1970-01-01
          相关资源
          最近更新 更多