brainstud/laravel-deployment-scripts

创建一次性部署脚本,用于在下次发布时运行

v1.0.3 2024-06-04 12:34 UTC

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)。请参阅许可证文件以获取更多信息。