我刚刚为 phpunit 的 PHP Symfony2 测试设置了我的Codebuild管道。
情况:
我们的一些测试与本地数据库(经典 mysql-server)对话
Codebuild使用我们的自定义 Docker 映像,该映像基于php:5.6-apache
OS : Linux Alpine
PHP VERSION : 5.6
我们执行以下步骤:
- 拉取资源
- 设置数据库(一切正常,无延迟)
- 作曲家安装(5 分钟)
php app/console doctrine:schema:update --force
php app/console broadway:event-store:schema:init
- 启动phpUnit。
在本地环境(允许 6GB RAM 的 Docker)上一切正常。
整个过程大约需要15 分钟……完美。
问题 :
当我在AWS-CodeBuild上的同一图像上启动构建时,这要长得多:
- 拉取资源(即时)
- 设置数据库(即时)
- 作曲家安装(5分钟)
php app/console doctrine:schema:update --force
(14 分钟)php app/console broadway:event-store:schema:init
(瞬间)- phpUnit(无限CodeBuild 超时)
假设:
似乎所有访问数据库的 php 进程都非常慢。
经典的 MySQL 请求具有“正常”的速度......
如果有人有想法?
感谢您的帮助
@Rops42