phizzl / deployee
此包已被废弃,不再维护。没有推荐替代包。
PHP 任务运行器
v0.2.1
2018-10-10 08:55 UTC
Requires
- php: >=5.5.0
- monolog/monolog: ^1.23
- phizzl/php-mysql-command-builder: ^0.2
- phpdocumentor/reflection-docblock: ^3.2
- pimple/pimple: ^3.0
- symfony/console: ^2.8
- symfony/event-dispatcher: ^3.3
- symfony/finder: ^3.3
- symfony/yaml: ^3.3
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"); } }