在travis-ci上查找Postgres可执行文件

时间:2018-10-08 19:19:36

标签: postgresql travis-ci

我有连接到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上的构建开始失败,因此看来postgres上不再有PATH

我尝试手动附加到before_script中的路径,以将postgresql-10/usr/lib/postgresql/10/bin/添加到PATH,但这无济于事。

我不需要在众所周知的端口上启动数据库服务-我的测试和本地开发脚本运行initdb并启动测试通过命名管道连接的本地数据库。< / p>

如何获取测试脚本可用的现代版本的Postgres服务器二进制文件和相关工具(如initdb)?

1 个答案:

答案 0 :(得分:1)

我在Github上搜索了提及postgres的.travis.yml文件。

我发现下面的魔咒对我有用,但是我不知道为什么。

我替换了

services:
  - postgresql

使用

addons:
  postgresql: "9.6"

以前我曾经使用过插件,但是除了服务之外,我还使用了插件。