Я начал проект на основе Laravel 5.1. Он размещен на Gitlab, и я хочу использовать Gitlab CI с этим проектом ( https://gitlab.com/nasirkhan/laravel-5-starter ). мой .gitlab-ci.yml
установка следующая. Но сборка терпит неудачу каждый раз, когда она запускает команду php artisan migrate:refresh
с ошибкой,
[PDOException]
SQLSTATE[HY000] [2002] Connection refused
изображение: tetraweb / php: 5.6-cli Сервисы: - MySQL переменные: WITH_XDEBUG: «1» MYSQL_ROOT_PASSWORD: секрет MYSQL_DATABASE: усадьба MYSQL_USER: усадьба MYSQL_PASSWORD: секрет COMPOSER_HOME: / cache / composer этапы: - тестовое задание PHP-5,6: тип: тест изображение: tetraweb / php: 5.6-cli сценарий: - docker-php-ext-enable zip - docker-php-ext-enable mbstring - docker-php-ext-enable pdo_mysql - php -v - композитор самообновления - композитор установить --no-progress --no-взаимодействия - cp .env.example .env - sed -i.bak 's / DB_HOST = localhost / DB_HOST = mysql / g' .env - php artisan key: генерировать - php artisan migrate: обновить - php artisan db: seed - поставщик php / bin / phpunit --colors --coverage-text
проблема решена. hostname
должно быть mysql
,
Сборка Gitlab CI будет передана для следующего конфига,
сначала создайте новый .env.test
со следующим содержанием
APP_ENV = локальный APP_DEBUG = TRUE APP_KEY = SomeRandomString DB_CONNECTION = MySQL DB_HOST = MySQL DB_DATABASE = приусадебных DB_USERNAME = приусадебных DB_PASSWORD = секрет CACHE_DRIVER = файл SESSION_DRIVER = файл QUEUE_DRIVER = синхронизация
тогда .gitlab-ci.yml
должно быть так,
изображение: tetraweb / php: 5.6-cli Сервисы: - mysql: последние переменные: WITH_XDEBUG: «1» MYSQL_ROOT_PASSWORD: секрет MYSQL_DATABASE: усадьба MYSQL_USER: усадьба MYSQL_PASSWORD: секрет COMPOSER_HOME: / cache / composer этапы: - тестовое задание PHP-5,6: тип: тест изображение: tetraweb / php: 5.6-cli сценарий: - docker-php-ext-enable zip - docker-php-ext-enable mbstring - docker-php-ext-enable pdo_mysql - ping -c 3 mysql - php -v - композитор самообновления - композитор установить --no-progress --no-взаимодействия - cp .env.test .env - php artisan key: генерировать - php artisan migrate: обновить - php artisan db: seed - поставщик php / bin / phpunit --colors --coverage-text
Других решений пока нет …