加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何自动提取版本号?

发布时间:2020-12-13 17:01:43 所属栏目:PHP教程 来源:网络整理
导读:我正在写一个 Symfony Console PHP应用程序,它是 takes a version number in the constructor. $app = new Application('myapp','1.0'); 我已经发现在制作新的git标签时很容易忘记版本号.我该如何动态/自动执行此操作? 除了这里SO,我searched packagist非常
我正在写一个 Symfony Console PHP应用程序,它是 takes a version number in the constructor.

$app = new Application('myapp','1.0');

我已经发现在制作新的git标签时很容易忘记版本号.我该如何动态/自动执行此操作?

除了这里SO,我searched packagist非常深刻,因为我认为这是一个常见的事情,但无法发现任何东西.

我一开始认为编写一个可以执行以下操作的函数:

chdir(__DIR__);
shell_exec('git describe --abbrev=0 --tags');

但是因为我globally require this CLI app with composer,它没有带源代码的git存储库.

我的下一个想法是,我知道我至少可以从作曲家那里得到它

composer global show myname/mypackage

但是这会泄漏大量的信息,而且我没有选择只显示版本号.我觉得像使用正则表达式这样的东西过滤所有这些可能会有点过分.有没有更好的方法?

解决方法

从某个地方提取版本号可能很困难,因为您可以运行旧版本的应用程序但错误地提取最新版本号.

您可以将“release.version”文件添加到您的repo中,该文件仅包含版本号并读取此文件以将其传递给构造函数.

然后,您可以使用像pre-commit之类的git钩子在提交标记之前更新此文件.

但是,这不建议在分布式系统中使用,因为它可能会导致冲突,但对于拥有专用发布管理器的小型团队或团队来说,这可能没问题.
在这里阅读:https://wincent.com/blog/automatic-deployment-numbering-in-git
和How do I enable ident string for Git repos?

它可能足以让一个预提交钩子检查一个新标签,并提醒你增加代码中的版本;).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读