在 Laravel 应用程序上指定应用程序版本的位置?

2022-08-30 19:36:14

我曾经在里面指定应用程序版本,直到我在Stack Overflow的某个地方读到这是一个不好的做法。在 PHP Laravel 应用程序上指定应用程序版本的标准文件是什么?(即:在.NET中,这将是配置文件,在iOS上它将是info.plist,在Android上它将是Manifest,等等。composer.json


答案 1

config/app.php绝对是此类信息的地方。

为什么?因为配置文件已(或应该)包含在版本控制流中,并且它们(应)包含有关应用程序的非敏感信息。简单版本指标的理想场所。

在数组的索引下,您可以设置如下索引nameversion

/*
|--------------------------------------------------------------------------
| 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',

答案 2

@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 .

推荐