2017-03-24 1 views
0

하나의 NodeJS 프로젝트 (GitHub)를 테스트하기 위해 postgresql 데이터베이스를 설정하려고 시도했지만 초기화에 실패합니다. 내가하고 싶은건 before_script을 사용하여 사용자 지정 자격 증명과 데이터베이스를 만드는 것이지만 Travis CI는 모든 before_scripts를 실행할 수없는 것 같습니다. 여기 내 .travis.yml입니다 :before_script가 작동하지 않기 때문에 Travis CI에서 PostgreSQL을 설정할 수 없습니다.

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

그래서 당신은 Node.js를 모듈, 그리고 다음 같은 시간에 당신이 잘 보이지 않는

node_js: 
    - "node" 

yarn를 설치하고 있습니다.

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 

참고 : 여기에

항상 일의 내 pg-promise 라이브러리의 예입니다 선이 올바르게 또한 포맷하는 것이 중요합니다)

+0

내가 한영에서 정확히 같은 트래비스 CI의 구성을 복사 약속하지만 여전히 나를 위해 새 데이터베이스를 만들지는 않습니다. 나는 테스트를 위해 기본 트래비스 데이터베이스를 사용한다. –

+0

BTW에서 "노드"는 안정적인 최신 Node.js 릴리스를 사용한다는 것을 의미합니다. 참조 : https://docs.travis-ci.com/user/languages/javascript-with-nodejs#Specifying-Node.js-versions –

관련 문제