sourcebroker / deployer-extended-magento2
使用 deployer.org 部署 Magento2。
Requires
- deployer/dist: ~6.8.0
- sourcebroker/deployer-bulk-tasks: ^2.1.0
- sourcebroker/deployer-extended: ^16.0.0
- sourcebroker/deployer-extended-database: ^13.0.0
- sourcebroker/deployer-extended-media: ^8.0.0
- sourcebroker/deployer-loader: ^2.0.0
README
它做什么?
本包为使用 deployer (deployer.org) 部署 Magento2 提供部署任务,并额外提供了同步数据库和媒体文件的任务。
依赖项
本包依赖于以下包
- sourcebroker/deployer-extended 包提供了适用于任何框架或 CMS 的某些部署任务。
- sourcebroker/deployer-extended-database 包提供了同步数据库的某些与 PHP 框架无关的部署任务。
- sourcebroker/deployer-extended-media 包提供了同步媒体的某些与 PHP 框架无关的部署任务。
安装
使用 composer 安装包
composer require sourcebroker/deployer-extended-magento2
注意!此命令将安装 deployer/dist 包,它将在 ./vendor/bin/dep 中创建二进制文件。您应使用此二进制文件来运行部署。建议您在 ~/.profile 中设置别名 dep="php ./vendor/bin/dep",以便能够使用常规 "dep" 命令运行 deployer。
如果您将 deployer 作为 composer 包使用,请在您的 deploy.php 中添加以下行
new \SourceBroker\DeployerExtendedMagento2\Loader();
如果您将 deployer 作为 phar 使用,请在您的 deploy.php 中添加以下行
require_once(__DIR__ . '/vendor/sourcebroker/deployer-loader/autoload.php'); new \SourceBroker\DeployerExtendedMagento2\Loader();
从您的 deploy.php 中移除任务 "deploy"。否则,您将覆盖 deployer/deploy/task/deploy.php 中定义的部署任务。
基于 phar 的 deploy.php 示例文件
<?php namespace Deployer; require_once(__DIR__ . '/vendor/sourcebroker/deployer-loader/autoload.php'); new \SourceBroker\DeployerExtendedMagento2\Loader(); set('repository', 'git@my-git:my-project.git'); host('live') ->hostname('111.111.111.111') ->user('www-data') ->set('public_urls', ['http://www.example.com/']) ->set('deploy_path', '/var/www/example.com.live'); host('beta') ->hostname('111.111.111.111') ->user('www-data') ->set('public_urls', ['http://beta.example.com/']) ->set('deploy_path', '/var/www/example.com.beta'); host('local') ->set('public_urls', ['http://example-com.ddev.site/']) ->set('deploy_path', getcwd());
注意 host('local'); 的声明,这对于数据库任务声明域名替换和数据库转储的路径是必需的。
Magento2 的特殊任务
magento:deploy:git_checkout
如果我们使用 composer 安装 Magento2,那么在 pub/ 文件夹中会有一些文件,如 '.htaccess' 或 'index.php',我们有时想要更改它们。不幸的是,在克隆仓库之后的 composer 安装步骤中,pub/ 文件将用 vendor/magento/magento2-base 中的文件覆盖。
此任务允许对在 'git_checkout_items' 参数中定义的文件/文件夹执行检出。因此,如果您更改了 pub/.htaccess,它将被还原。默认情况下,'git_checkout_items' 参数包含项目 'pub/.htaccess'。