您如何避免忘记增加项目的版本号?

Edw*_*ard 4 php version-control project-management

我总是忘记更改bugfix版本的版本号,当我发布1.0.9时,源代码中的版本号可能仍然是1.0.0

到目前为止,并不是一件大事,因为每个版本都记录在SVN中,我可以随时从我的SVN中检索指定的版本.

但我知道它不好,并且在可预见的情况下,它可能会在升级旧版本时引起问题.我将版本号作为参数存储在我的源代码中,我想是否有更好的方法来控制这个数字,特别是对于php web项目(我知道其他一些语言有自动版本生成,但在php中似乎没有?).

你如何在你的项目中解决这个问题?任何最佳做法?

Jan*_*oom 7

使用TeamCity等持续集成软件,并使用接受版本号作为参数的构建脚本.你的构建脚本可能只是调用一个小工具:打开一个文件(versioninfo.php),搜索这个字符串(一些正则表达式的东西),并用给定的参数替换它.


一些额外的提示,使这更容易:分支即将发布的每个版本,我们现在有5.0生产(但它仍然是为修复目的而构建),5.1已分支并在此时进行测试,并且trunk包含5.2.

每次您需要发布修补程序时,请更新TeamCity中的版本号,以及对构建脚本的调用(也应该在TeamCity中完成).

Fe我们此时有以下项目:

  • 版本5.0.5(需要/v=5.0.5)
  • 版本5.1(采用/v=5.1)
  • 中继线(需要/v=5.2)

将此与SQL脚本前缀与版本号和自动数据库生成脚本相结合,每个版本创建一个大事务脚本(如:'DPL_Updates_for_5.1.sql').

当我们将一个版本带到生产中时,我们从TeamCity的分支中获取工件,特定于该版本的数据库脚本会自动添加到zip文件中,并且我们提供该文件(以及发行说明等). )到我们的应用管理部门.