apavliukov/app-version-laravel

Laravel 应用版本管理

v3.4.1 2023-03-04 15:52 UTC

This package is auto-updated.

Last update: 2024-09-04 19:08:37 UTC


README

Laravel

AppVersion for Laravel 应用

Laravel 9 兼容

Version PHP Version Build Status Coverage Downloads count License

screenshot

图片来自 antonioribeiro/version 仓库

Laravel 没有内置的应用版本管理机制,此包可修复此缺陷。

安装

使用以下命令通过 composer 安装此包:

$ composer require apavliukov/app-version-laravel

之后,您应使用以下命令“发布”配置文件(./config/version.php):

$ php artisan vendor:publish --provider="AvtoDev\\AppVersion\\ServiceProvider"

用法

此包提供应用版本管理器(AppVersionManager)和

  • 版本值仓库(版本数据的抽象层
  • 仓库驱动程序(也称为“工厂” - 它们创建配置的仓库实例)

您可以编写自己的实现,并使用它们(只需正确配置即可)。

内置的“存储”类型

  • 带有版本定义的普通文件;
  • 应用配置文件(默认为 version.config);
  • CHANGELOG.md 文件(提取最后定义的版本值)。

如果您想通过 DI 获取访问版本管理器的权限,请请求 AvtoDev\AppVersion\AppVersionManagerInterface

<?php

namespace App\Console\Commands;

use AvtoDev\AppVersion\AppVersionManagerInterface;

class SomeCommand extends \Illuminate\Console\Command
{
    /**
     * The console command name.
     *
     * @var string
     */
    protected $name = 'some:command';

    /**
     * Execute the console command.
     *
     * @param AppVersionManagerInterface $manager
     *
     * @return void
     */
    public function handle(AppVersionManagerInterface $manager): void
    {
        $manager->version(); // e.g.: 1.0.0-alpha2
    }
}

Artisan 命令

Blade

Blade 编译器允许以下指令

Application version: @app_version
Build version: @app_build
Application version hash: @app_version_hash

测试

对于包测试,我们使用 phpunit 框架和 docker-ce + docker-compose 作为开发环境。因此,在克隆仓库后,只需在您的终端中写入

$ make build
$ make latest # or 'make lowest'
$ make test

变更日志

Release date Commits since latest release

变更日志可以在这里找到

支持

Issues Issues

如果您发现任何包错误,请在此仓库中创建问题

许可证

这是一个开源软件,受MIT 许可证许可。