phizzl/deployee

此包已被废弃,不再维护。没有推荐替代包。

PHP 任务运行器

v0.2.1 2018-10-10 08:55 UTC

This package is auto-updated.

Last update: 2022-11-13 00:04:09 UTC


README

安装

您可以通过 composer 需求 deployee

composer require phizzl/deployee @dev

配置

创建一个名为 deployee.yml 的文件。您可能需要从 vendor/phizzl/deployee-cli/deployee.dist.yml 复制它。

通过 OS 环境变量加载指定的配置

如果您想使用另一个配置,可以通过设置环境变量 DEPLOYEE_CONFIG 为要使用的配置的绝对路径来更改它。

export DEPLOYEE_CONFIG=/var/www/custom.deployee.yml; vendor/bin/deployee deployee:deploy:run

通过 --env 选项加载配置

您还可以通过定义 --env 选项来加载配置

vendor/bin/deployee deployee:deploy:run --env=dev

在上面的例子中,Deployee 将尝试从当前工作目录中的 delpoyee.dev.yml 文件读取配置。

部署

任务

您可以使用几个任务来定义您的部署。使定义部署成为可能的功能存储在 Deployment 插件中。更多信息请参阅文档 此处

文件系统

请参阅文档 此处

Shell

请参阅文档 此处

MySQL 数据库

请参阅文档 此处

OXID eShop

请参阅文档 此处

注解控制的部署

您可以通过设置部署定义的注解来操作部署执行时的行为。如果您想了解如何强制部署始终运行或仅在指定环境中给定时运行,请参阅插件文档 此处

插件

系统本身设计为基于事件和插件。因此,定义部署的功能本身就是一个插件,它为系统添加事件和命令。

创建新插件

如果您想为Deployee添加功能,您可以选择创建自己的插件。为此,您需要创建一个继承自AbstractPlugin类的Plugin类。

use Deployee\Container;
use Deployee\Plugins\AbstractPlugin;

class MyPluginPlugin extends AbstractPlugin
{
    const PLUGIN_ID = "deploy.myUniquePluginId";

    /**
     * @return string
     */
    public function getPluginId()
    {
        return self::PLUGIN_ID;
    }

    /**
     * @param Container $container
     */
    public function initialize(Container $container)
    {
        // start subscribing to events
    }
}

在定义好您的插件后,只需将您的类添加到Deployee配置YAML文件中的plugin部分。

plugins:
    - Deployee\Plugins\MyPlugin\MyPluginPlugin

插件配置参数

您也可以在config YAML文件中定义插件配置。这些参数将在插件的初始化方法中可用。

plugins:
    - Deployee\Plugins\MyPlugin\MyPluginPlugin:
        myvar1: val1
        myvar2: ["apple", "orange"]

然后您就可以像以下示例那样访问配置变量

public function initialize(Container $container)
{
    $myvar1 = $this->config['myvar1'];
    if(!isset($this->config['myvar2']) || !is_array($this->config['myvar2'])){
        throw new \RuntimeException("You need to configure myvar2");
    }
}