Мы используем laravel 5.6, postgresql и circleci в нашей производственной среде API и все еще пытаемся реализовать некоторые ключевые модульные тесты для запуска до объединения фиксации в master.
При попытке настроить удаленную базу данных postgresqlпри доступе по кругу возникает следующая проблема:
Наш .circleci / config.yml должен был извлекать пользовательский образ ( edunicastro / docker: latest ) и запускать тесты phpunit в "build "step
Но мы получаем следующее сообщение об ошибке:
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» вместо этого также не имел никакого эффекта.
Это релевантная часть «build» нашего 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" }}