我正在尝试设置 GitLab CI 流程,但发现它启动起来非常缓慢。任务可以挂起等待状态几分钟。但主要问题是建设非常缓慢。我们有一个自定义的 PHP docker 镜像(内置一些模块)和应用程序。部署到 CI 最多可能需要 5-10 分钟。
这怎么可能:
- 尽量减少等待时间?购买企业账号?
- 加快图像构建和安装?
- 缓存泊坞窗图像?
- 从文件和我们的 php7 中加入基本图像?
尽管对版本和时间有一些不必要的检查,但它们不是问题——它们速度很快,但它们提供了有关精确版本和运行时间的信息。
.gitlab-ci.yml:
image: "registry.gitlab.com/project/debianphp7:latest"
services:
- mariadb:10.1
variables:
# CI_DEBUG_TRACE: "true" # hard Gitlab CI debug
MYSQL_HOST: mariadb
MYSQL_DATABASE: dbname
MYSQL_ROOT_PASSWORD: "password"
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
MYSQL_CMD: "mysql --user=root --password=$MYSQL_ROOT_PASSWORD --host=$MYSQL_HOST $MYSQL_DATABASE "
before_script:
- apt-get update && apt-get install mysql-client -y
- echo "Load database fixtures"
- mysql -V
- echo $MYSQL_CMD
- echo "SELECT 'OK', NOW(), VERSION();" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mariadb
- echo "SELECT 'OK', NOW(), VERSION();" | $MYSQL_CMD
- (find ./sql/*.sql -type f | while read f; do
echo "Loading " $f;
cat $f | $MYSQL_CMD;
done);
test:
script:
php -d short_open_tag=On src/execute_request_by_cron.php -- request=TestUnitTestRequest
谢谢。