[英]Gitlab CI for Laravel 5.*
我已經開始了一個基於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
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
問題得到解決。 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.