djl997/laravel-release-scheduler

此包已被废弃,不再维护。作者建议使用https://github.com/djl997/laravel-maintenance-scheduler包代替。

用于管理应用程序版本、安排维护、版本变更日志和维护模式的包。

0.8.0 2024-03-02 11:10 UTC

This package is auto-updated.

Last update: 2024-03-02 11:13:53 UTC


README

Latest Version on Packagist Total Downloads Software License

Laravel Maintenance Scheduler是一个用于管理您的应用程序版本、安排维护、生成变更日志并使维护模式更易于使用的包。目标是通知最终用户维护计划和版本更改。此包不会管理自动化发布和/或运行发布脚本和/或自动发布生成的变更日志。

特性

  • 生成可读的维护消息。
  • 使用一个PHP Artisan命令生成小版本或补丁版本号。
  • 生成变更日志(语义化版本控制)
  • 自动集成到php artisan downphp artisan up
  • 如果没有安排维护时间,它将自动创建并激活一个未安排的维护时间。

路线图

以下是即将到来的大致路线图(无特定顺序)

  • 生成 changelog.md 文件
  • 创建取消命令
  • 改进设置
  • 将重新计算连接到初始版本
  • 配置初始版本
  • 将当前版本添加到应用程序布局(如何实现)
  • 配置第一个版本
  • 翻译(EN, NL, DE)

要求

Laravel Maintenance Scheduler需要PHP 8+和Laravel 8+。

安装

您可以通过composer在项目中使用此包

composer require djl997/laravel-maintenance-scheduler

轻量版

在轻量版中,您不需要任何数据库表。只需通过config/maintenance-scheduler.php配置文件配置版本即可

php artisan vendor:publish --tag=maintenance-config

完整版

发布迁移文件

php artisan vendor:publish --tag=maintenance-migrations

迁移所需的数据库表maintenance_schedule

php artisan migrate

安装第一个版本。

php artisan maintenance:install

用法

注意!此包仍在开发中。欢迎使用此包,但API可能发生重大变化。不提供任何保证。

命令

php artisan maintenance:list # List all versions
php artisan maintenance:create # Wizard to create and schedule a new maintenance
php artisan maintenance:delete {maintenanceID} # Delete one specific maintenance by ID
php artisan maintenance:recalculate # Recalculate version structure (semver)

启用维护模式

要激活维护模式,请运行默认的Laravel命令php artisan down。Laravel Maintenance Scheduler将搜索指定日期的安排维护并激活它们。注意,如果没有安排维护,将自动创建并激活一个未安排的维护。

禁用维护模式

要停用维护模式,请运行php artisan up。Laravel Maintenance Scheduler将完成活动的维护并使其可用于变更日志。您可以将其复制粘贴到例如GitHub上。

显示维护消息

use Djl997\LaravelMaintenanceScheduler\Models\MaintenanceSchedule;

$message = MaintenanceSchedule::getMaintenanceMessage();

显示当前版本

use Djl997\LaravelMaintenanceScheduler\Models\MaintenanceSchedule;

$version = MaintenanceSchedule::getCurrentVersion();

此值缓存在Laravel Cache中,以防止不必要的数据库查询。如果显示的版本不正确,您可以尝试运行php artisan cache:clearphp artisan optimize:clear,然后检查是否有效。

自定义配置

如果您想更改默认配置,可以发布配置文件

php artisan vendor:publish --tag=maintenance-config

编辑配置文件后,请运行php artisan maintenance:recalculate。所有版本应更新到您的新结构。

事件

Laravel 维护计划调度器不派发它自己的事件。相反,我们挂钩到默认的 Laravel Artisan 事件:MaintenanceModeEnabledMaintenanceModeDisabled。当然,您也可以这样做。

此外,您可以在应用程序的 App\Providers\EventServiceProvider 类中观察 MaintenanceSchedule 模型。

use Djl997\LaravelMaintenanceScheduler\Models\MaintenanceSchedule;

MaintenanceSchedule::observe(YourObserver::class);

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

此软件包正在积极开发中,欢迎提出想法或改进建议。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件