在 Laravel 应用程序上指定应用程序版本的位置?
我曾经在里面指定应用程序版本,直到我在Stack Overflow的某个地方读到这是一个不好的做法。在 PHP Laravel 应用程序上指定应用程序版本的标准文件是什么?(即:在.NET中,这将是配置文件,在iOS上它将是info.plist,在Android上它将是Manifest,等等。composer.json
我曾经在里面指定应用程序版本,直到我在Stack Overflow的某个地方读到这是一个不好的做法。在 PHP Laravel 应用程序上指定应用程序版本的标准文件是什么?(即:在.NET中,这将是配置文件,在iOS上它将是info.plist,在Android上它将是Manifest,等等。composer.json
config/app.php
绝对是此类信息的地方。
为什么?因为配置文件已(或应该)包含在版本控制流中,并且它们(应)包含有关应用程序的非敏感信息。简单版本指标的理想场所。
在数组的索引下,您可以设置如下索引name
version
/*
|--------------------------------------------------------------------------
| Application Version
|--------------------------------------------------------------------------
|
| This value is the version of your application. This value is used when
| the framework needs to place the application's version in a notification
| or any other location as required by the application or its packages.
*/
'version' => '1.0.0',
@delatbabel
有一个很好的版本开始
配置/应用.php
'version' => env('APP_VERSION', '1.0.0'),
对于 config/bugsnag:
'app_version' => env('APP_VERSION', '1.0.0'),
然后,您可以简单地通过以下方式获取您的版本:
config('app.version')
现在在 docker 中,您可以在构建时设置默认版本:
ENV APP_VERSION=1.0.0
例如,使用圆圈CI,您可以添加内部版本号:
ARG BUILD_NR
ENV APP_VERSION=1.0.$BUILD_NR
现在,在 config.yml 中,您可以添加以下作业命令:
deliver-prod:
machine: true
steps:
- checkout
- docker build --build-arg BUILD_NR=$CIRCLE_BUILD_NUM .