2016-10-12 3 views
0

Ich versuche, Gitlab-ci mit einem Symfony-Projekt zu konfigurieren, und nachdem ich die Dokumentation und einige Beispiele in externen Blogs gelesen habe, kann ich das Setup nicht abschließen. Das sind meine Dateien:Ich kann Gitlab-ci nicht mit einem symfony-Projekt einrichten

.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 

parameters.gitlab.yml

# 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 

I Benutzer root (die parameters.yml.dist wird) haben versucht, mysql und ein anderer Benutzer, der die Variable 'MYSQL_USER' verwendet. Das Ergebnis ist immer das gleiche:

$ 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 

Was mache ich falsch oder fehlt?

+0

Siehe meine andere [Antwort] (http://stackoverflow.com/questions/39102481/gitlab-ci-symfony-sqlstatehy000-2002-connection-refused/39103642#39103642) beschreibt die Datenbank nicht als einer der initialisiert werden mögliche Probleme, obwohl mit all den Dingen, die laufen (und genug Zeit nehmen), bevor Ihr Job ich bezweifle, dass es Ihr Fall ist. – tmt

+0

@tmTM Ich habe versucht, '60 s' zu schlafen, wie Sie empfehlen, und sogar mit 'Schlaf 120s', aber immer noch das gleiche Versagen. – cmmata

+0

@cmmata Ich stehe genau vor dem gleichen Problem, hast du eine Lösung gefunden? TY – Aximem

Antwort

2

Das Problem war in Dev-Umgebung, wie Tackerm mir in Gitlab forum erzählte. Ich verwendete eine parameters_dev.yml-Datei in der Entwicklungsumgebung, und composer install las diese Datei anstelle von parameter.yml, wie ich dachte. Das Ändern der Datenbankeinstellungen in parameters_dev.yml löst den Fehler und nun verbindet und führt Gitlab Tests durch.

Verwandte Themen