flycorp / laravel-git-version
获取应用程序当前git版本的辅助工具
Requires
- illuminate/support: >=4
Suggests
- symfony/process: Used rather than `shell_exec` if available (>=3.3).
This package is auto-updated.
Last update: 2024-09-23 20:58:54 UTC
README
一个获取项目当前git版本的辅助类。
期望在你的项目 base_path()
中存在一个包含版本字符串的 version
文件,或者存在可用的 git
二进制文件。
框架版本
此包适用于Laravel 4和5,以及Lumen。
安装
在你的Laravel/Lumen项目中要求它
composer require flyCorp/laravel-git-version
可选包
如果可用,此模块使用 Symfony的Process组件,否则回退到 shell_exec
。所以如果你的部署环境禁用了 shell_exec
,你可以通过安装 symfony/process
来解决这个问题。
使用
你可以使用以下方法获取git版本字符串
\FlyCorp\LaravelGitVersion\GitVersionHelper::getVersion()
或者,你可以使用以下方法获取应用程序名称和版本号,例如 my-project/1.0
\FlyCorp\LaravelGitVersion\GitVersionHelper::getNameAndVersion()
或者,你可以使用以下方法获取应用程序的所有提交
\FlyCorp\LaravelGitVersion\GitVersionHelper::geLog()
应用程序的名称来自 Config::get('app.name', 'app')
,因此你可以在你的 config/app.php
文件中配置它,或者将其保留为默认值 app
。
推荐使用模式
确保你的git标签已推送到你的服务器,以便正确描述版本。
在开发过程中以及在可能的生产环境中,允许版本自动确定(这是通过 git describe
完成的)。
作为你生产部署程序的一部分,编写一个 version
文件(例如,通过类似 git describe --always --tags --dirty >version
的命令,因为这个命令是此包会运行的命令),当此 version
文件存在时,包将使用其内容而不是执行 git
,节省一些处理器和I/O时间。
将 /version
添加到你的 .gitignore
文件,以便保持你的工作树干净,并防止你意外提交它。
视图
提供了一个视图,它只输出一个包含 getNameAndVersion()
返回值的HTML注释。我喜欢将其包含在项目的主体布局模板中。
要使用此视图,通过将其添加到你的 config/app.php
文件中来安装服务提供者
'providers' => [
...
FlyCorp\LaravelGitVersion\GitVersionServiceProvider::class,
],
然后视图就可用
@include('git-version::version-comment')