gitlab docker mysql_php-GitlabCi使用docker和mysql服务缓慢构建

龚博涛
2023-12-01

我正在使用gitlab-ci-multirunner 9.3.0和GitLab社区版9.3.5

当我在本地虚拟盒环境中运行PHP单元测试时,总测试(30)大约需要:

Time: 5 minutes,Memory: 96.00MB

在我的gitlab主机上运行相同的测试,总共需要

Time: 41.68 minutes,Memory: 97.75MB

这些测试需要MysqL并在每个测试上执行数据库创建和夹具加载.

我的DockerFile:

FROM tetraweb/PHP:5.6

# Install additional packages

RUN apt-get clean && apt-get -qq update

RUN apt-get -qq upgrade -y

RUN apt-get install -qq -y apt-utils

RUN apt-get install -qq -y MysqL-client libmagickwand-dev libgeoip-dev -y --no-install-recommends

RUN pecl install imagick apcu-4.0.11 geoip

RUN docker-PHP-ext-enable exif gd gettext intl mcrypt MysqL MysqLi opcache pdo_MysqL zip memcache apcu imagick geoi

我的gitlab-ci.yml:

variables:

TIMEZONE: Europe/Berlin

MysqL_DATABASE: test

MysqL_ROOT_PASSWORD: test-root

MysqL_USER: test

MysqL_PASSWORD: asecurething

SYMFONY_ENV: "test"

stages:

- test

- deploy

test:

image: test-image-PHP:5.6

services:

- mariadb:latest

stage: test

only:

- branches

except:

- master

script:

- export COMPOSER_CACHE_DIR=x/cache/composer

- SYMFONY_ENV=test composer install --no-progress --no-interaction

- chmod +x bin/console

- PHP vendor/PHPunit/PHPunit/PHPunit --coverage-text --colors=never

我真的认为那是造成巨大差异的MysqL服务故障.

什么是提高我的PHPunit测试性能的最佳方法?

 类似资料: