gpt4 book ai didi

php - 如何自动 pull 版本号?

转载 作者:可可西里 更新时间:2023-10-31 23:16:42 29 4
gpt4 key购买 nike

我正在写一个 Symfony Console PHP应用程序takes a version number in the constructor .

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

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

除了这里,我 searched packagist非常深入,因为我确信这是一件很常见的事情,但无法发现任何东西。

一开始我想写一个函数来做这样的事情:

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

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

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

composer global show myname/mypackage

但这会吐出大量信息,而且据我所知,没有任何选项可以只显示版本号。我觉得用正则表达式之类的东西过滤所有这些可能有点矫枉过正。有没有更好的办法?

最佳答案

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

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

然后您可以在提交标签之前使用类似预提交的 git 钩子(Hook)来更新此文件。

然而,在分布式系统中不推荐这样做,因为它可能会导致冲突,但对于较小的团队或拥有专门的发布经理的团队来说,这可能没问题。在这里阅读:https://wincent.com/blog/automatic-deployment-numbering-in-gitHow do I enable ident string for Git repos?

可能有一个预提交钩子(Hook)来检查新标签并提醒您增加代码中的版本可能就足够了 ;)。

关于php - 如何自动 pull 版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40230856/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com