У меня есть тесты, которые работают локально при подключении к серверу 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, для моих тестовых сценариев?