【问题标题】:Finding postgres executables on travis-ci在 travis-ci 上查找 postgres 可执行文件
【发布时间】: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


    【解决方案1】:

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

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

    我换了

    services:
      - postgresql
    

    addons:
      postgresql: "9.6"
    

    以前我也用过插件,不过是在服务之外代替代替。

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 2016-02-11
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 2019-10-29
      相关资源
      最近更新 更多