适用于Laravel 5. *的Gitlab CI

nas*_*han 3 php mysql laravel gitlab gitlab-ci

我已经启动了一个基于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-启用mbstring
    -docker-php-ext-enable pdo_mysql
    -PHP的-v
    -作曲家自我更新
    -作曲家安装-无进展-无互动
    -cp .env.example .env
    -sed -i.bak的/ DB_HOST = localhost / DB_HOST = mysql / g'.env
    -php artisan key:generate
    -php artisan migration:刷新
    -php artisan db:seed
    -php vendor / bin / phpunit --colors --coverage-text

nas*_*han 5

问题已解决。对hostnamemysql

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-启用mbstring
    -docker-php-ext-enable pdo_mysql
    -ping -c 3 mysql
    -PHP的-v
    -作曲家自我更新
    -作曲家安装-无进展-无互动
    -cp .env.test .env
    -php artisan key:generate
    -php artisan migration:刷新
    -php artisan db:seed
    -php vendor / bin / phpunit --colors --coverage-text