Не могу настроить Gitlab-ci с проектом symfony

Я пытаюсь настроить Gitlab-ci с проектом Symfony, и после прочтения документации и некоторых примеров во внешних блогах я не могу завершить настройку. Это мои файлы:

.gitlab-ci.yml:

# Select image from https://hub.docker.com/_/php/
image: php:5.6
# Select what we should cache
cache:
  paths:
  - vendor/

before_script:
# Install git, the php image doesn't have installed
- apt-get update -yqq
- apt-get install git -yqq
- apt-get install wget -yqq
- apt-get install zip unzip zlib1g-dev -yqq

# Install mysql driver & zip
- docker-php-ext-install pdo_mysql
- docker-php-ext-install zip
- docker-php-ext-install mbstring

# Install composer
- curl -sS https://getcomposer.org/installer | php

# Install all project dependencies
- mv app/config/parameters.gitlab.yml app/config/parameters.yml.dist
- ping -c 3 mysql
- php -v
- php composer.phar clear-cache
- php composer.phar install
- php bin/console doctrine:schema:create

services:
- mysql:latest

variables:
  # Configure mysql service (https://hub.docker.com/_/mysql/)
  MYSQL_DATABASE: symfony
  MYSQL_ROOT_PASSWORD: password

# We test PHP5.6 (the default) with MySQL
test:mysql:
  script:
  - vendor/bin/phpunit --configuration phpunit.xml --coverage-text

параметры.gitlab.yml (который становится параметрами.yml.dist)

# This file is auto-generated during the composer install
parameters:
    database_driver: pdo_mysql
    database_host: mysql
    database_port: 3306
    database_name: symfony
    database_user: root
    database_password: password

Я пробовал root пользователя mysql и другого пользователя, использующего переменную MYSQL_USER. Результат всегда один:

$ mv app/config/parameters.gitlab.yml app/config/parameters.yml.dist
$ ping -c 3 mysql
PING mysql (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: icmp_seq=0 ttl=64 time=0.282 ms
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.140 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.151 ms
--- mysql ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.140/0.191/0.282/0.065 ms
$ php -v
PHP 5.6.26 (cli) (built: Sep 23 2016 21:22:39) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
$ php composer.phar clear-cache
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Clearing cache (cache-dir): /root/.composer/cache
Clearing cache (cache-files-dir): /root/.composer/cache/files
Clearing cache (cache-repo-dir): /root/.composer/cache/repo
Cache directory does not exist (cache-vcs-dir): 
All caches cleared.
$ php composer.phar install
......
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache

  [Doctrine\DBAL\Exception\ConnectionException]                              
  An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused  

  [Doctrine\DBAL\Driver\PDOException]        
  SQLSTATE[HY000] [2002] Connection refused  

  [PDOException]                             
  SQLSTATE[HY000] [2002] Connection refused  

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception

Что я делаю неправильно или упускаю?


person cmmata    schedule 12.10.2016    source источник
comment
См. мой другой ответ, описывающий, что база данных не инициализируется как одна из возможных проблем, хотя все это работает (и занимает достаточно времени) до вашей работы, я сомневаюсь, что это ваш случай.   -  person tmt    schedule 12.10.2016
comment
@tmTM Я пробовал «сон 60 с», как вы рекомендуете, и даже «сон 120 с», но все тот же сбой.   -  person cmmata    schedule 12.10.2016
comment
@cmmata У меня точно такая же проблема, ты нашел решение? ТЮ   -  person Aximem    schedule 30.11.2016
comment
@Aximem У меня все еще есть эта проблема. Если я найду решение, я опубликую его здесь.   -  person cmmata    schedule 05.12.2016
comment
Мне удалось заставить это работать, я следил за ответом @Luis Lopez здесь: stackoverflow.com/a/37617194/1821417 Надеюсь, это помощь !   -  person Aximem    schedule 07.12.2016


Ответы (1)


Проблема была в среде разработки, как сказал мне Такерм в форум Gitlab. Я использовал файл parameters_dev.yml в среде разработки, и установка композитора читала этот файл вместо параметров .yml, как я думал. Изменение настроек базы данных в parameters_dev.yml устраняет ошибку, и теперь Gitlab подключается и выполняет тесты.

person cmmata    schedule 12.12.2016