迁移时,Gitlab CI和Docker会引发错误

我正在尝试使用GitLab CI和Docker来运行PHPUnittesting。 但是,当它运行我的迁移,我得到这个错误:

$ php artisan migrate [PDOException] SQLSTATE[HY000] [2002] No such file or directory ERROR: Build failed with: exit code 1 

这是我的.gitlab-ci.yml文件:

 # Before Script before_script: - composer self-update - composer config -g github-oauth.github.com $GITHUB_AUTH_KEY - composer install --prefer-dist - cp .env.example .env - echo "DB_HOST=mysql" >> .env - echo "CHALLONGE_API=$CHALLONGE_API" >> .env - echo "CHALLONGE_SUBDOMAIN=$CHALLONGE_SUBDOMAIN" >> .env - echo "EBOT_DB_PASSWORD=$EBOT_DB_PASSWORD" >> .env - echo "SOCKET_IO_IP=$SOCKET_IO_IP" >> .env - echo "REDIS_HOST=$REDIS_HOST" >> .env - php artisan key:generate - php artisan migrate # Services services: - mysql:lastest - redis:latest # Variables variables: MYSQL_USER: homestead MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: $DB_NAME # PHP 5.6 php:5.6: image: bobey/docker-gitlab-ci-runner-php5.6 script: - echo "Running PHPUnit Tests" - php vendor/bin/phpunit --colors --debug --coverage-text 

任何想法,为什么这是抛出这个错误?

我假设DB_HOST在您的.env文件中设置为localhost ,它将尝试通过unix套接字连接到MySql服务器。 但是,这不是开箱即用的。 尝试在你的testing环境中将其设置为mysql ,如文档: http : //docs.gitlab.com/ee/ci/services/mysql.html所述 。