mwltr/magedeploy2-base

使用 Robo 和 Deployer 的 Magento2 部署设置

安装次数: 5,280

依赖关系: 0

建议者: 0

安全性: 0

星级: 43

关注者: 5

分支: 13

开放问题: 8

类型:项目

3.0.0 2017-09-20 06:40 UTC

This package is auto-updated.

Last update: 2024-09-24 04:54:56 UTC


README

使用 Robo 和 Deployer 的 Magento2 部署设置。这是您应该基于其进行部署的基础项目。它提供了一个可配置和可定制的设置,用于创建 Magento2 的推送部署。

入门

要求

  • deployer/deployer
  • consolidation/robo
  • mwltr/magedeploy2
  • netz98/n98-deployer

先决条件

MageDeploy2 需要您的系统上有 deployer 和 robo。

这些工具可以作为全局工具使用,也可以添加到您的本地 composer.json 作为要求。

这些工具的路径可以在 magedeploy2.php 中进行配置

此外,还需要 gtar(gnu-tar),它可以通过 brew 安装

brew install gnu-tar

安装

创建一个新的部署设置

composer create-project mwltr/magedeploy2-base <dir>

Robo 需要通过 composer 进行安装,否则无法使用自定义任务。请参阅 Robo 文档 包括附加任务

配置部署

此工具假设您有一个包含 magento composer.json 的 git 仓库。此外,您的本地构建环境可以克隆该仓库并使用 composer 下载 Magento 包。

MageDeploy2 配置

要配置 MageDeploy2,请使用以下命令

./vendor/bin/robo config:init

它将引导您完成最重要的配置选项。不用担心,您稍后可以编辑 magedeploy2.php。

接下来,运行

./vendor/bin/robo validate

以验证您的构建环境是否已设置。

设置本地构建环境

如果您已完成 magedeploy2.php 中的配置,您可以检查您的构建环境是否可以设置。要这样做,请运行以下命令

./vendor/bin/robo deploy:magento-setup develop

您可以根据您的 git 仓库设置使用不同的分支。

在 Magento-setup 运行成功后,现在您可以通过运行以下命令生成资源

./vendor/bin/robo deploy:artifacts-generate

在此命令完成后,您应该在 shop 下方看到包。

到此为止,我们确信本地构建设置是有效的,现在我们可以继续发布我们的项目。

Deployer 配置

在安装和配置 magedeploy2 后,您需要编辑 deploy.php 文件以适应您的需求。为了评估,我们将创建一个本地部署目标。要做到这一点,请运行以下命令

cp config/local.php.dist config/local.php

并根据您的本地部署目标设置配置值。

检查 deploy.php 中的配置,并将其调整到您的需求。默认配置和任务定义在 \N98\Deployer\Recipe\Magento2Recipe 中。您也可以查看所有配置的 Deployer 文档

设置部署目录树

在设置完配置后,您现在可以初始化部署目标的目录树,运行以下命令

./vendor/bin/dep deploy:prepare local

这将在您的本地部署目标上创建所需的目录。

设置部署目标(可选)

如果您想设置部署目标,也可以使用以下命令

./vendor/bin/dep server:setup local

它将进行初始部署,将代码推送到部署目标。

完成此操作后,导航到您的本地 deploy_path 并运行 magento 安装命令以设置数据库。这可能看起来像这样

cd <deploy_path>
php bin/magento setup:install --db-host=127.0.0.1 --db-name=magedeploy2_dev_test_1_server --db-user=root --admin-email=admin@mwltr.de 
--admin-firstname=Admin --admin-lastname=Admin --admin-password=admin123 --admin-user=admin 
--backend-frontname=admin --base-url=http://magedeploy2_dev --base-url-secure=https://magedeploy2_dev 
--currency=EUR --language=en_US --session-save=files --timezone=Europe/Berlin --use-rewrites=1

现在我们已经在部署目标上有了Magento数据库和配置,可以继续进行最后一步。

部署项目

在这个阶段,您已经设置了构建环境和目标环境,可以开始实际的部署。您可以通过运行以下命令来这样做:

./vendor/bin/dep deploy local

恭喜,您已成功设置部署管道并运行了第一次部署!

配置文件

magedeploy2.php

这是设置部署所需所有参数的配置文件。

最常见的设置需要根据项目进行调整

  • deploy/git_url (git仓库的路径)
  • deploy/themes (需要生成的主题)
  • build/db (构建环境的数据库设置)

完整的配置选项列表请见下文。

env

deploy

build/db

包含在部署过程中创建和更新本地Magento设置的数据库配置。

deploy.php

此文件用于将项目实际部署到服务器。它有一个基本的设置,应在大多数环境中正常工作。您也可以根据需要调整它。省略不需要的步骤,添加新的,替换现有的等。

deploy.php使用N98\Deploy\Recipe\Magento2Recipe作为基本配方,并覆盖了一些默认设置。

服务器配置使用config/*.php文件定义。

自定义项目更改

通用

将所有ADD_XXX替换为您的要求。

要自定义和检查的文件

.ssh/config

默认情况下,此部署使用具有ssh-config文件的本地ssh客户端。它需要在.ssh/config中定义,并且需要与config下的服务器配置匹配。

注意

.ssh/config中的主机名必须是IP地址,否则在部署过程中将发生错误。

.ssh/known_hosts

也可以在这个目录下添加已知主机列表:.ssh/known_hosts,例如可以在此处添加密钥:

  • 127.128.129.130 ssh-rsa {长公钥}
  • 127.128.129.131 ssh-rsa {长公钥2}

config/*

请查看config/production.phpconfig/staging.php,并根据需要进行更改。

Jenkinsfile

Jenkinsfile定义了Jenkins Pipeline。它需要根据项目需求进行调整。

deploy.php

deploy.php是主入口点,可以用来进行自定义。

入门

使用composer install安装依赖项

使用./dep deploy staging开始部署

命令

config:init

生成新的magedeploy2.php。请注意:这将覆盖您现有的配置

validate

验证

  • bin配置值可执行
  • git仓库可访问

deploy

触发具有所有阶段的部署

deploy:magento-setup

运行magento-setup阶段中的所有任务。它将通过从git拉取源代码,安装composer依赖项和安装或更新本地数据库来设置或更新本地Magento实例。

deploy:artifacts-generate

运行Magento di:compilesetup:static-content-deploy命令来生成资产。它使用来自magedeploy2.php的配置。

生成这些资产后,它将根据您的配置创建软件包。

deploy:deploy

此命令将调用部署器发布您的项目并将准备好的工件推送到服务器。

版本控制

我们使用SemVer进行版本控制。有关可用的版本,请参阅此存储库的标签

作者

  • Matthias Walter - 初始工作 - mwr

许可证

本项目采用MIT许可证 - 请参阅LICENSE.md文件以获取详细信息