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

Chr*_*sco 11 php laravel laravel-5

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

Geo*_*dis 24

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',
Run Code Online (Sandbox Code Playgroud)

  • 我的问题是配置缓存.`php artisan config:clear`修正了事情. (4认同)

Joe*_*kes 7

@delatbabel

版本有一个很好的开始

配置/app.php

'version' => env('APP_VERSION', '1.0.0'),
Run Code Online (Sandbox Code Playgroud)

对于配置/bugsnag:

'app_version' => env('APP_VERSION', '1.0.0'),
Run Code Online (Sandbox Code Playgroud)

那么你可以简单地获得你的版本:

config('app.version')
Run Code Online (Sandbox Code Playgroud)

码头工人

现在在 docker 中,您可以在构建时设置默认版本:

ENV APP_VERSION=1.0.0
Run Code Online (Sandbox Code Playgroud)

例如,使用 circle CI,您可以添加内部版本号:

ARG BUILD_NR
ENV APP_VERSION=1.0.$BUILD_NR
Run Code Online (Sandbox Code Playgroud)

现在在您的 config.yml 中,您可以添加以下作业突击队:

 deliver-prod:
    machine: true
    steps:
      - checkout
      - docker build --build-arg BUILD_NR=$CIRCLE_BUILD_NUM .
Run Code Online (Sandbox Code Playgroud)