okaufmann/laravel-git-version

此包已被弃用且不再维护。未建议替代包。

获取应用程序当前git版本的辅助工具

1.1.5 2017-09-25 23:31 UTC

This package is auto-updated.

Last update: 2023-03-01 00:12:15 UTC


README

一个获取项目当前git版本的辅助类。

期望在项目的 base_path() 中存在一个包含版本字符串的 version 文件,或者存在可用的 git 二进制文件。

这是我根据自己的需求定制的 最初由 @tremby 创始。考虑为其版本做出贡献。

Laravel版本

此包与Laravel 4和5都兼容。

安装

在您的Laravel项目中要求它

composer require okaufmann/laravel-git-version

通过将其添加到您的 config/app.php 文件来安装服务提供者

'providers' => [
    ...
    Tremby\LaravelGitVersion\GitVersionServiceProvider::class,
],

使用

您可以使用以下方式获取git版本字符串

\Tremby\LaravelGitVersion\GitVersionHelper::getVersion()

或者您可以使用以下方式获取您的应用程序名称和版本号,例如 my-project/1.0

\Tremby\LaravelGitVersion\GitVersionHelper::getNameAndVersion()

此外,您还可以通过调用此方法获取最新提交的hash值

\Tremby\LaravelGitVersion\GitVersionHelper::getHash(8)

getHash() 方法获取一个整数,它是提交hash的长度。如果它是null,getHash() 返回全角。

应用程序的名称来自 Config::get('app.name', 'app'),因此您可以在您的 config/app.php 文件中配置它或将其保留为默认值 app

命令

在发布您应用程序的新版本时,运行以下命令以标记新版本并创建包含正确版本信息的文件

git tag v0.0.3
php artisan version:bump

视图

提供了一个视图,它只输出一个包含 getNameAndVersion() 返回值的HTML注释。我喜欢将其包含在项目的主体布局模板中。

该视图可用

@include('git-version::version-comment')

推荐使用模式

确保您的git标签已推送到您的服务器,以便正确描述版本。

在开发过程中以及在可能的生产环境中,允许版本自动确定(这是通过 git describe 来完成的)。

作为您生产部署过程的一部分,编写一个 version 文件(例如,通过类似 git describe --always --tags --dirty >version 的命令,因为这是此包会运行的命令)。当此 version 文件存在时,包将使用其内容而不是执行 git,从而节省一些处理器和I/O时间。

/version 添加到您的 .gitignore 文件中,以确保您的working tree保持干净,并且您不会意外地提交它。

或者您将其提交并让应用程序使用文件中的版本(例如,您只是增加标签)