c0ntax / deployment-tasks
一个简单的包,用于处理部署前后的脚本执行
dev-master
2019-06-04 12:35 UTC
Requires
- php: >=7.1
- knplabs/gaufrette: ^0.8.1
- symfony/process: ^2.8|^3.0|^4.0
Requires (Dev)
- pds/skeleton: ^1.0
- phpunit/phpunit: ^8.1
This package is auto-updated.
Last update: 2024-09-05 00:17:47 UTC
README
简介
这是一个简单的(框架无关)库,用于在部署时运行任务(且仅运行一次)。默认情况下,它设计为与Knp Gaufrette库一起工作,这样您就可以在任何位置持久化已运行的任务(理想情况下,如果项目可以访问,则为数据库)
安装
composer req c0ntax/deployment-tasks
嗯,就是这样
配置
配置很简单。您只需要将两个配置好的Gaufrette文件系统注入到TaskService中。它们是
- 存储任务的本地项目文件系统
- 任务内存的位置,用于跟踪已运行的任务
use C0ntax\DeploymentTasks\Service\TaskService; use Gaufrette\Filesystem; use C0ntax\DeploymentTasks\Gaufrette\Adapter\Local; use Gaufrette\Adapter\DoctrineDbal; $taskFilesystem = new Filesystem(new Local('/path/to/tasks')); $memoryFilesystem = new Filesystem(new DoctrineDbal(...)); $taskService = new TaskService($taskFilesystem, $memoryFilesystem);
您还需要确保已设置任务目录。例如
/path
/to
/tasks
/Pre
/task1232198312.sh
/task3210948323.sh
/Post
/tasks0298340932.sh
执行
一旦配置完成,您只需将上面定义的TaskService传递给RunnerService即可
use C0ntax\DeploymentTasks\Contracts\TaskServiceInterface; use C0ntax\DeploymentTasks\Service\RunnerService; $runnerService = new RunnerService($taskService); // To run pre deployment tasks (i.e. the codebase has been build and staged, but is not yet live) $runnerService->run(TaskServiceInterface::TASK_TYPE_PRE); // To run post deployment tasks (i.e. the codebase is now live and taking requests) $runnerService->run(TaskServiceInterface::TASK_TYPE_POST);