tddwizard / magento2-dockerized
Magento 2 开发/测试环境的Docker基础设施定义。基于 arvatoscm/dockerize-magento2
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用户,您必须安装最新版本的 docker 和 docker-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>
触发安装即可。
集成测试
设置
-
将
dev/tests/integration/etc/install-config-mysql.php.dist
复制到dev/tests/integration/etc/install-config-mysql.php
-
在
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
功能测试
设置
-
在
dev/tests/functional
中运行composer install
-
将
dev/tests/functional/phpunit.xml.dist
复制到dev/tests/functional/phpunit.xml
并更改app_frontend_url
和app_backend_url
的值。将stopOnError="true"
添加到<phpunit>
元素也是一个好主意。 -
将
dev/tests/functional/etc/config.xml.dist
复制到dev/tests/functional/etc/config.xml
并更改<application>
中的backendLogin
、backendPassword
和appBackendUrl
的值。在</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