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

标签 php version-control project-management

<分区>

我老是忘记改bugfix版本的版本号,当我发布1.0.9的时候,可能源码里的版本号还是1.0.0

到目前为止这不是什么大问题,因为每个版本都记录在 SVN 中,我可以随时从我的 SVN 检索指定的版本。

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

您如何在您的项目中解决这个问题?有什么最佳做法吗?

最佳答案

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


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

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

目前我们有以下项目:

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

将此与在您的 SQL 脚本前加上版本号和一个自动数据库生成脚本相结合,该脚本为每个版本创建一个大事务脚本(例如:'DPL_Updates_for_5.1.sql')。

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

关于php - 您如何避免忘记增加项目的版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2190042/

相关文章:

php 类...验证

SVN:跨项目共享公共(public)库/代码

project-management - 如何为设计 session 制定固定报价?

php - 获取消息 ID 作为响应 - SendGrid API v3

php - 小型 php 框架建议

version-control - 如何使用 Visual SourceSafe 管理版本?

git - git 存储库中的依赖管理(使用子模块)

project-management - 完美的状态报告是什么样的?

javascript - 如何修复此 JavaScript 函数?

eclipse - 如何在工作空间中同时使用SVN和Eclipse?