首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动提取版本号?

如何自动提取版本号?
EN

Stack Overflow用户
提问于 2016-10-25 03:24:16
回答 1查看 180关注 0票数 4

我正在编写一个Symfony控制台 PHP应用程序,其中在构造函数中获取版本号。

代码语言:javascript
复制
$app = new Application('myapp', '1.0');

我已经发现,在发布新的git标记时,很容易忘记增加版本号。我如何动态地/自动地完成这个任务?

除了这里,我的搜索包装商相当深入,因为我认为这是一个普遍的事情,但没有能够找到任何东西。

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

代码语言:javascript
复制
chdir(__DIR__);
shell_exec('git describe --abbrev=0 --tags');

但是因为我是全局需要此CLI应用程序和composer。,所以它没有包含源代码的git存储库。

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

代码语言:javascript
复制
composer global show myname/mypackage

但是这会释放出大量的信息,我无法选择只显示版本号。我觉得用regex之类的东西来过滤这一切可能太过分了。还有更好的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-25 08:19:35

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

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

然后,您可以在提交标记之前使用git钩子(如预提交)来更新该文件。

但是,在分布式系统中不推荐这样做,因为它可能导致出现collisons,但是对于具有专用发布管理器的较小的团队来说,这可能是可以的。在这里阅读:https://wincent.com/blog/automatic-deployment-numbering-in-git如何为Git repos启用ident字符串?

如果有一个预提交钩子来检查新标记并提醒您增加代码中的版本就足够了;)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40230856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档