在验收测试期间,CircleCi无法访问数据库

时间:2016-08-24 14:06:50

标签: laravel codeception devops circleci

我的项目中有两种不同类型的测试 - 验收和单元测试,问题是CircleCi在验收测试期间无法访问数据库,尽管.env变量是相同的。

这是.env文件:

DB_HOST=localhost
DB_DATABASE=db_testing
DB_USERNAME=homestead
DB_PASSWORD=secret

在PHPUnit.xml中我有:

<php>
    <env name="APP_ENV" value="testing"/>
    <env name="CACHE_DRIVER" value="array"/>
    <env name="SESSION_DRIVER" value="array"/>
    <env name="QUEUE_DRIVER" value="sync"/>
</php>

在我的应用中:

$app->loadEnvironmentFrom('.env.testing');

所有这些设置都适用于我的本地计算机,但在circleci上它抱怨它无法访问数据库。根据他们的文档,我不需要创建数据库

1 个答案:

答案 0 :(得分:1)

  

如果您使用MySQL或Postgres,您可以使用circle_test数据库和ubuntu用户,而不是自己创建数据库。任何数据库都不需要密码。

来源:https://circleci.com/docs/manually/#databases

jdbc:postgresql://ubuntu:@127.0.0.1:5432/circle_test

来源:https://circleci.com/docs/configuration/#database

要使用CircleCI提供的数据库,我认为需要使用:

# .env
DB_HOST=localhost
DB_DATABASE=circle_test
DB_USERNAME=ubuntu
DB_PASSWORD=