迁移时,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所述 。
- Gitlab-ci bash进程替代阻塞工作
- OpenJDK9(Docker),分级4.2.1,GitLab
- 你有任何资源解释如何使用Firebasetesting实验室与GitLabpipe道?
- Docker-in-Docker与Gitlab共享运行器,用于构buildDocker映像并将其推送到registry
- Docker / CI:访问在另一个阶段创build的nodeJS应用程序
- 如何让工作variables注入docker执行?
- Gitlab CI中的Docker执行器将错误的URL传递给Git仓库
- 如何使用GitLab CI设置Selenium E2Etesting?
- 自动设置docker工与ci亚军的图像