2016-04-07 3 views
1

Я начал проект на основе Laravel 5.1. Он размещен в Gitlab, и я хочу использовать Gitlab CI с этим проектом (https://gitlab.com/nasirkhan/laravel-5-starter). Мой .gitlab-ci.yml установка следующий. Но сборка происходит сбой каждый раз, когда он запускает команду php artisan migrate:refresh, с ошибкой,Gitlab CI для 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

Это ошибка соединения sql, вставьте часть отладочной информации в ваш раздел скриптов. 'ping -c 3 mysql' приходит на ум. Затем следуйте по тропе. –

+0

добавил команду, но журнал ошибок ничего не показал. – nasirkhan

+0

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

ответ

3

проблема решена. hostname должен быть mysql.

Gitlab CI сборка будет проходить на следующей конфигурации,

сначала создать новый .env.test следующего содержания

 
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 

то .gitlab-ci.yml должно быть, как это,

 
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 

 Смежные вопросы

  • Нет связанных вопросов^_^