Поиск исполняемых файлов postgres на travis-ci - PullRequest
0 голосов
/ 08 октября 2018

У меня есть тесты, которые работают локально при подключении к серверу Postgres версии 10.5, но которые терпят неудачу на Travis , по-видимому, из-за использования IF NOT EXISTS синтаксиса , который, по-видимому, добавлено в Postgres 9.1 .

My .travis.yml:

language: node_js
node_js:
   - "8"
   - "9"
   - "10"
   - "stable"

# Use faster Docker architecture on Travis.
sudo: false

services:
  - postgresql

script:        ./scripts/validate.sh
after_success: npm run coveralls

Я пробовал несколько вариантов из " Использование другой версии postgresql ":

Среды сборки Travis CI по умолчанию используют версии 9.2 для образов Trusty, но также доступны другие версии из официального репозитория PostgreSQL APT.Чтобы использовать версию, отличную от версии по умолчанию, укажите только версию major.minor в .travis.yml:

, но затем сборка начала давать сбой на which postgres, поэтому похоже, что * 1024 больше нет* on PATH.

Я пытался вручную добавить путь к before_script, чтобы добавить /usr/lib/postgresql/10/bin/ к PATH за postgresql-10 , но это не помогло.

Мне не нужно запускать службу базы данных на известном порту - мои сценарии тестирования и локальной разработки запускаются initdb и запускают локальную базу данных, к которой тесты подключаются через именованный канал.

Как получить доступ к современной версии двоичного файла сервера postgres и связанных с ним инструментов, таких как initdb, для моих тестовых сценариев?

1 Ответ

0 голосов
/ 09 октября 2018

Я выполнил поиск файлов .travis.yml, в которых упоминается postgres на Github.

Я нашел магическое заклинание, которое работает для меня, но я понятия не имею, почему.

Iзаменил

services:
  - postgresql

на

addons:
  postgresql: "9.6"

Ранее я использовал аддоны, но вместо сервисов вместо.

...