c0ntax/deployment-tasks-bundle

围绕 c0ntax/deployment-tasks 的 symfony 包装器

dev-master 2019-06-04 12:18 UTC

This package is auto-updated.

Last update: 2024-09-05 00:10:28 UTC


README

简介

这是一个为 c0ntax/deployment-tasks 库编写的 Symfony 扩展包。它添加了运行部署任务一次(仅一次)的能力,这样你就不需要手动运行临时代码作为构建/部署过程的一部分。

安装

运行

composer req c0ntax/deployment-tasks-bundle

配置

此包使用 knplabs/knp-gaufrette-bundle 来存储已运行的任务,因此需要对此包进行一些配置才能使其正常运行。

首先,你需要配置你的 '内存'。这将是我们将存储所有已执行任务的地方,这样我们就不会再次执行它们。

knp_gaufrette.yaml

knp_gaufrette:
    adapters:
        tasks_local:
            service:
                id: c0ntax_deployment_tasks.gaufrette.adapter.local

        memory_local:
            local:
                directory: '%kernel.project_dir%/var/memory'
                
    filesystems:
        tasks:
            adapter: tasks_local
            alias: tasks_filesystem

        memory:
            adapter: memory_local
            alias: memory_filesystem

注意: 目前(直到我弄清楚如何配置一个 symfony 扩展包来配置另一个 symfony 扩展包),配置中需要有一些样板代码。只需确保从上面复制 adapters.tasks_localfilesystems.tasks 即可。

这将设置项目内部的一个本地磁盘内存存储。显然,你可以将其配置在任何地方。使用 Gaufrette,你可以将其配置为 几乎在任何地方。因此,你可能希望在生产环境中将其存储在数据库或 S3 存储桶中。只需添加一个新的适配器,然后更改配置为 memory 的适配器。

默认情况下,用于存储任务的目录位于 %kernel.project_root/src/DeploymentTasks。如果你想要更改它,你只需要覆盖一个参数。

parameters:
    c0ntax_deployment_tasks.directory.tasks: '%kernel.project_dir%/src/DeploymentTasks%'

用法

运行它非常简单。要运行预部署任务(即你已经构建了应用程序,但尚未将其上线)

./bin/console deployment:tasks:run Pre

以及运行后部署任务(即你的应用程序现在对全世界开放)

./bin/console deployment:tasks:run Post

嗯,就这样了