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

问题描述 投票:1回答:1

我有连接到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的路径,将/usr/lib/postgresql/10/bin/添加到每个postgresql-10的PATH,但这没有帮助。

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

如何获得postgres服务器二进制文件的现代版本以及我的测试脚本可用的initdb等相关工具?

postgresql travis-ci
1个回答
1
投票

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

我发现下面的神奇咒语适合我,但我不明白为什么。

我换了

services:
  - postgresql

addons:
  postgresql: "9.6"

以前我曾经使用过插件,但除了服务而不是代替。

© www.soinside.com 2019 - 2024. All rights reserved.