Laravel 5.* 的 Gitlab CI

Posted

技术标签:

【中文标题】Laravel 5.* 的 Gitlab CI【英文标题】:Gitlab CI for Laravel 5.* 【发布时间】:2016-07-28 15:22:09 【问题描述】:

我已经开始了一个基于 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:/缓存/作曲家 阶段: - 测试 php-5.6: 类型:测试 图片:tetraweb/php:5.6-cli 脚本: - docker-php-ext-启用 zip - docker-php-ext-启用 mbstring - docker-php-ext-启用 pdo_mysql - php -v - 作曲家自我更新 -作曲家安装--no-progress --no-interaction -cp .env.example .env - sed -i.bak 's/DB_HOST=localhost/DB_HOST=mysql/g' .env - php工匠密钥:生成 - php工匠迁移:刷新 - php工匠数据库:种子 - php 供应商/bin/phpunit --colors --coverage-text

【问题讨论】:

这是一个 sql 连接错误,将一些调试内容粘贴到您的脚本部分。 ping -c 3 mysql 浮现在脑海中。然后沿着小路走。 添加了命令,但错误日志没有显示任何内容。 gitlab.com/nasirkhan/laravel-5-starter/builds/1027449 【参考方案1】:

问题已解决。 hostname 应该是 mysql

Gitlab CI 构建将通过以下配置,

先新建一个.env.test,内容如下

APP_ENV=本地 APP_DEBUG=真 APP_KEY=一些随机字符串 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:/缓存/作曲家 阶段: - 测试 php-5.6: 类型:测试 图片:tetraweb/php:5.6-cli 脚本: - docker-php-ext-启用 zip - docker-php-ext-启用 mbstring - docker-php-ext-启用 pdo_mysql - ping -c 3 mysql - php -v - 作曲家自我更新 - 作曲家安装 --no-progress --no-interaction - cp .env.test .env - php工匠密钥:生成 - php工匠迁移:刷新 - php工匠数据库:种子 - php 供应商/bin/phpunit --colors --coverage-text

【讨论】:

以上是关于Laravel 5.* 的 Gitlab CI的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab CI:./ bin / phppit:没有这样的文件或目录

Gitlab完美安装CentOS6.5安装gitlab-6.9.2

安装 gitlab-5.0 时遇到问题。我无法完成安装

Gitlab8.5安装后邮件发送不成功的解决过程

gitlab从8.6.5升级到8.11.7(补丁版本通用更新指南)

安装Gitlab 10.5.2社区版