我们在api生产环境中使用了laravel 5.6,postgresql和circleci,并且仍在尝试实现一些关键的单元测试,以在提交合并到master之前运行。
尝试在圆上配置远程Postgresql数据库访问时,存在以下问题:
我们的.circleci / config.yml应该提取自定义的构建映像(edunicastro/docker:latest)并在“构建”步骤中运行phpunit测试
但是我们收到以下错误消息:
PDOException: SQLSTATE[08006] [7] could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
问题在于这应该连接到我们的远程数据库,但是在我们的生产环境中,我们使用.env和laravel建立了连接。
我尝试将“ DB_PGSQL_HOST”密钥复制到我们的config.yml中,但没有任何更改,它一直尝试连接到127.0.0.1。
使用键“ PGHOST”也无效。
这是config.yml的相关“构建”部分:
version: 2
jobs:
build:
docker:
- image: edunicastro/docker:latest
environment:
DB_PGSQL_CONNECTION: <prod_laravel_connection_name>
DB_PGSQL_HOST: <prod_db_host>
DB_PGSQL_PORT: 5432
DB_PGSQL_DATABASE: <prod_db_name>
working_directory: ~/repo
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "composer.json" }}
- v1-dependencies-
- run: composer install -n --prefer-dist
- run: ./vendor/bin/phpunit
- save_cache:
paths:
- ./vendor
key: v1-dependencies-{{ checksum "composer.json" }}
答案 0 :(得分:0)
好的,我丢失了将.env复制到songcollection
下的命令:
- checkout
Laravel已经配置并设置为可以使用,因此我不需要更改其他任何内容。