【发布时间】:2018-10-08 19:19:36
【问题描述】:
我有测试在连接到 Postgres 服务器版本 10.5 时在本地工作,但 fail on Travis,显然是由于使用 IF NOT EXISTS syntax 而显然是 added in Postgres 9.1。
我的.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
我尝试了“Using a different postgresql version”的几种变体:
默认情况下,Travis CI 构建环境在 Trusty 映像上使用 9.2 版本,但官方 PostgreSQL APT 存储库中的其他版本也可用。要使用默认版本以外的版本,请在
.travis.yml中仅指定 major.minor 版本:
但随后构建开始在 which postgres 上失败,所以看起来 PATH 上不再有 postgres。
我尝试手动附加到 before_script 中的路径,以根据 postgresql-10 将 /usr/lib/postgresql/10/bin/ 添加到 PATH 中,但这没有帮助。
我不需要在已知端口上启动数据库服务——我的测试和本地开发脚本运行 initdb 并启动测试通过命名管道连接到的本地数据库。
如何获得现代版本的 postgres 服务器二进制文件和相关工具(如 initdb)可用于我的测试脚本?
【问题讨论】:
标签: postgresql travis-ci