tddwizard/magento2-dockerized

Magento 2 开发/测试环境的Docker基础设施定义。基于 arvatoscm/dockerize-magento2

安装: 46

依赖项: 0

建议者: 0

安全性: 0

星星: 8

关注者: 4

分支: 2

开放问题: 0

语言:Shell

类型:magento2-component

dev-master 2017-10-08 20:43 UTC

This package is not auto-updated.

Last update: 2024-09-21 16:19:20 UTC


README

一个用于docker化Magento 2的composer包

tddwizard/magento2-dockerized 这个composer包会将docker基础设施定义文件(如 docker-compose.yml)部署到您的Magento 2根目录,并允许您在不安装Apache/Nginx、MySQL或PHP的情况下托管您的Magento 2商店。

包名

tddwizard/magento2-dockerized (基于 arvatoscm/dockerize-magento2 的分支)

软件要求

对于Linux用户,您必须安装最新版本的 dockerdocker-compose

如果您是Mac或Windows用户,请使用 Docker Toolbox

安装

tddwizard/magento2-dockerized 添加到您的现有Magento 2商店

composer require --ignore-platform-reqs tddwizard/magento2-dockerized
chmod +x bin/console

这将在您的Magento根目录中放置一些文件

  • docker-compose.yml Docker基础设施定义
  • bin/console 用于控制docker化Magento项目的实用脚本
  • config 包含PHP、Nginx和phpMyAdmin配置文件的文件夹

使用方法

dockerize-magento2 包含一个名为 bin/console 的脚本,可以用于安装Magento,并在PHP docker容器中执行Magentos' bin/magento脚本

触发Magento 2安装过程

bin/console install <hostname>

启动docker容器

bin/console start

停止docker容器

bin/console stop

在docker容器内执行bin/magento

bin/console exec [arguments]

有关如何使用docker-compose的更多信息,请访问:https://docs.docker.net.cn/compose/

配置

install 动作取决于一些参数,例如用户名和密码。我们已为您设置了一些默认值,以便您进行快速测试

DATABASE_NAME="magento2dockerized"
DATABASE_USER="magento"
DATABASE_PASSWORD="enAVINa2"
DATABASE_ROOT_PASSWORD="enAVINa2"

ADMIN_USERNAME="admin"
ADMIN_FIRSTNAME="Admin"
ADMIN_LASTNAME="Inistrator"
ADMIN_EMAIL="johndoe@example.com"
ADMIN_PASSWORD="enAVINa2"

DEFAULT_LANGUAGE="en_US"
DEFAULT_CURRENCY="EUR"
DEFAULT_TIMEZONE="Europe/Berlin"

BACKEND_FRONTNAME="management"

如果您想使用不同的参数,请在 .env 文件中更改这些值以符合您的需求。自定义参数后,只需运行 bin/console install <hostname> 触发安装即可。

集成测试

设置

  1. dev/tests/integration/etc/install-config-mysql.php.dist 复制到 dev/tests/integration/etc/install-config-mysql.php

  2. dev/tests/integration/etc/install-config-mysql.php 中更改数据库参数

     'db-host' => 'mysql',
     'db-user' => 'root',
     'db-password' => 'enAVINa2',
     'db-name' => 'magento_integration_tests',
     'db-prefix' => '',
    

运行测试

按照上述描述设置好集成测试容器后,您可以使用以下命令运行测试

docker-compose -f docker-compose.yml -f docker-compose.integration-tests.yml run --rm integration

功能测试

设置

  1. dev/tests/functional 中运行 composer install

  2. dev/tests/functional/phpunit.xml.dist 复制到 dev/tests/functional/phpunit.xml 并更改 app_frontend_urlapp_backend_url 的值。将 stopOnError="true" 添加到 <phpunit> 元素也是一个好主意。

  3. dev/tests/functional/etc/config.xml.dist 复制到 dev/tests/functional/etc/config.xml 并更改 <application> 中的 backendLoginbackendPasswordappBackendUrl 的值。在 </install> 下方添加以下 server 节点

       <server>
         <item name="selenium" type="default" browser="Mozilla Firefox" browserName="firefox" host="selenium" port="4444" seleniumServerRequestsTimeout="30" sessionStrategy="shared">
           <desiredCapabilities>
             <platform>ANY</platform>
           </desiredCapabilities>
         </item>
       </server>
    

    您可能需要将 host="selenium" 更改为selenium服务的IP地址,例如 172.20.0.6(故障排除检查会ping该服务并显示IP,见下文)

运行测试

根据上述描述设置功能集成测试容器后,您可以使用以下命令运行测试

docker-compose -f docker-compose.yml -f docker-compose.functional-tests.yml run --rm functional

添加 -t 参数以在测试套件开始之前启用故障排除检查。例如,在 -- 后传递参数给 PHPUnit

docker-compose -f docker-compose.yml -f docker-compose.functional-tests.yml run --rm functional -- --filter MyTestCase

许可协议

dockerize-magento2 采用 Apache License 2.0 许可。有关完整的许可协议文本,请参阅 LICENSE