我尝试设置一个postgresql数据库来测试一个NodeJS项目(GitHub),但是在初始化它时失败了。我想要做的是使用before_script
创建自定义凭据和数据库,但Travis CI似乎无法运行所有before_scripts。这是我的.travis.yml
:
language: node_js
services:
- postgresql
addons:
postgresql: "9.5"
node_js:
- "node"
install:
- yarn
before_script:
- psql -c "CREATE DATABASE rx_reactive_test;" -U postgres
- psql -c "CREATE USER rx_reactive_tester WITH PASSWORD '1esdf3143';" -U postgres
script:
- npm test
cache: yarn
在构建过程中没有运行psql命令,并且在运行测试时出现以下错误:
Uncaught Error: connect ECONNREFUSED 127.0.0.1:5432
at Object.exports._errnoException (util.js:1034:11)
at exports._exceptionWithHostPort (util.js:1057:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1099:14)
如需详细报告,请查看https://travis-ci.org/haoliangyu/pg-reactive/jobs/214507951。我花了几个小时寻找解决方案但我没有多少运气。任何帮助将不胜感激!
答案 0 :(得分:0)
所以你正在安装yarn
那个Node.js模块,然后同时你说
node_js:
- "node"
这看起来不对。
以下是pg-promise图书馆的一个例子:
language: node_js
sudo: required
dist: trusty
node_js:
- "4"
- "6"
- "7"
addons:
postgresql: "9.5"
script: "npm run travis"
before_script:
- psql -c 'create database pg_promise_test;' -U postgres
- node test/db/init.js
注意:正确格式化线条也很重要;)