Travis OS X测试Postgres

时间:2016-04-26 20:37:03

标签: macos postgresql travis-ci

如何在Travis CI OS X构建中设置Postgres?

我无法开始,我也不知道如何设置这些:

--dbaddress localhost --dbport 5432 --dbname testDb --dbusername postgres

2 个答案:

答案 0 :(得分:2)

使用Travis CI OS X实例,环境类似于典型的Homebrew安装。

以下是您可以配置的Travis CI OS X environment

可用的数据库服务:

postgis版本2.1.3,postgresql版本9.3.5

与Linux不同,OSX目前不提供服务配置。您可以使用安装脚本启动数据库服务,并直接使用Postgresql工具。

示例.travis.yml如下所示:

addons:
  postgresql: "9.4"
language:
  - objective-c
os:
  - osx
sudo:
  - false
install:
   - export PG_DATA=$(brew --prefix)/var/postgres
   - pg_ctl -w start -l postgres.log --pgdata ${PG_DATA}
   - createuser -s postgres
   - psql -c 'create database testDb;' -U postgres
   - cat postgres.log

那它做了什么?

“add ons”正在选择默认的

上的特定postgresql版本

“sudo”命令无法在Travis CI中执行

“install”包含我们需要运行的命令以及您要添加的其他命令

pg_ctl命令需要一个数据目录,“PG_DATA”包含本地home-brew安装的路径和存储数据库文件的目录。

pg_ctl将启动现有服务并等待(-w)连接。

unix用户/角色" postgres"必须创建并用于数据库“testDb”的最终创建脚本。

最后,将postgres.log发送到Travis CI日志。

希望这可以让您了解从哪里开始。

答案 1 :(得分:2)

griffio回答的其他信息:

与此同时Travis正在运行PostgreSQL 9.5(即使使用了addon postgresql:" 9.4")并且在启动时得到了以下日志输出:

FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.4, which is not compatible with this version 9.5.4.

首先创建新群集后,它正在工作:

install:
   - export PG_DATA=$(brew --prefix)/var/postgres
   - rm -rf $PG_DATA
   - initdb $PG_DATA -E utf8
   - pg_ctl -w start -l postgres.log --pgdata ${PG_DATA}
   - createuser -s postgres
   - psql -c 'create database testDb;' -U postgres
相关问题