2016-04-07 25 views
1

Ich habe ein Projekt basierend auf Laravel 5.1 gestartet. Es ist bei Gitlab gehostet und ich möchte das Gitlab CI mit diesem Projekt (https://gitlab.com/nasirkhan/laravel-5-starter) verwenden. Meine .gitlab-ci.yml Einstellung folgt. Aber die Build versagt jedes Mal, wenn er läuft den Befehl php artisan migrate:refresh, mit dem Fehler,Gitlab CI für Laravel 5. *

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

 
image: tetraweb/php:5.6-cli 

services: 
    - mysql 

variables: 
    WITH_XDEBUG: "1" 
    MYSQL_ROOT_PASSWORD: secret 
    MYSQL_DATABASE: homestead 
    MYSQL_USER: homestead 
    MYSQL_PASSWORD: secret 
    COMPOSER_HOME: /cache/composer 

stages: 
    - test 

php-5.6: 
    type: test 
    image: tetraweb/php:5.6-cli 
    script: 
    - docker-php-ext-enable zip 
    - docker-php-ext-enable mbstring 
    - docker-php-ext-enable pdo_mysql 
    - php -v 
    - composer self-update 
    - composer install --no-progress --no-interaction 
    - cp .env.example .env 
    - sed -i.bak 's/DB_HOST=localhost/DB_HOST=mysql/g' .env 
    - php artisan key:generate 
    - php artisan migrate:refresh 
    - php artisan db:seed 
    - php vendor/bin/phpunit --colors --coverage-text 
+2

passieren wird Es ist ein SQL-Verbindungsfehler, stecken Sie etwas Debug-Zeug in Ihren Skriptbereich. 'ping -c 3 mysql' kommt mir in den Sinn. Dann folge dem Weg. –

+0

hat den Befehl hinzugefügt, aber das Fehlerprotokoll hat nichts angezeigt. – nasirkhan

+0

https://gitlab.com/nasirkhan/laravel-5-starter/builds/1027449 – nasirkhan

Antwort

3

das Problem behoben ist. Die hostname sollte mysql sein.

Gitlab CI Build für die folgende Konfiguration,

zuerst erstellen Sie eine neue .env.test mit folgendem Inhalt

 
APP_ENV=local 
APP_DEBUG=true 
APP_KEY=SomeRandomString 

DB_CONNECTION=mysql 
DB_HOST=mysql 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

dann die .gitlab-ci.yml sollte so sein,

 
image: tetraweb/php:5.6-cli 

services: 
    - mysql:latest 

variables: 
    WITH_XDEBUG: "1" 
    MYSQL_ROOT_PASSWORD: secret 
    MYSQL_DATABASE: homestead 
    MYSQL_USER: homestead 
    MYSQL_PASSWORD: secret 
    COMPOSER_HOME: /cache/composer 

stages: 
    - test 

php-5.6: 
    type: test 
    image: tetraweb/php:5.6-cli 
    script: 
    - docker-php-ext-enable zip 
    - docker-php-ext-enable mbstring 
    - docker-php-ext-enable pdo_mysql 
    - ping -c 3 mysql 
    - php -v 
    - composer self-update 
    - composer install --no-progress --no-interaction 
    - cp .env.test .env 
    - php artisan key:generate 
    - php artisan migrate:refresh 
    - php artisan db:seed 
    - php vendor/bin/phpunit --colors --coverage-text