brainstud / laravel-deployment-scripts
创建一次性部署脚本,用于在下次发布时运行
v1.0.3
2024-06-04 12:34 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^8.73|^9|^10|^11
- illuminate/database: ^8.77|^9|^10|^11
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- nunomaduro/collision: ^5.10
- nunomaduro/larastan: ^1.0
- orchestra/testbench: ^6.22
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5|^10.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-04 13:07:59 UTC
README
在部署新代码时,有时需要执行一次性脚本、命令或查询以激活新功能。随着应用程序的增长,很容易失去对给定部署应执行哪些内容的视线。Laravel 已经有在执行 artisan migrate 命令后运行的迁移,但这些迁移仅针对数据库操作。
Laravel 一次性部署脚本包旨在通过提供类似迁移的方式注册需要执行脚本、命令和查询来解决此问题。通过简单地注册部署脚本执行命令,该包将检查是否有任何需要执行的脚本。一旦脚本执行完成,它将注册到数据库中,以便不再运行。
示例
以下代码片段是配置部署脚本的一个示例。创建了一个继承自 DeploymentScript 基类的基本类或匿名类。然后注册 up 和 down 方法以包含需要执行的任务,并在这些方法中执行所需的任务。
return new class extends DeploymentScript { public function up() { $this->command('mycommand:trigger'); $this->query('UPDATE `table` SET `foo` = 1 WHERE `baz` IS NULL'); } public function down() { $this->closure(function () { (new CustomActionClass())->execute(); }); } }
安装
您可以通过 composer 安装此包
composer require brainstud/laravel-deployment-scripts
您可以使用以下命令发布并运行迁移
php artisan vendor:publish --tag="deployment-scripts-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="deployment-scripts-config"
这是发布配置文件的内容
return [ 'table_name' => 'deployment_scripts_log', ];
用法
可用命令
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
许可证
MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。