2013-10-15 3 views
6

나는 레일스, 포스트 그레스 트래비스가 작동하는데 문제가 있습니다. 테스트가 시작되면 데이터베이스 연결 오류가 계속 발생합니다. .travis.yml레일즈와 포스트그레스로 travis.ci 설정하기

language: ruby 
rvm: 
    - "1.9.3" 
before_script: 
    - cp config/database.travis.yml config/database.yml 
    - psql -c 'create database myapp_test;' -U postgres 
    - bundle exec rake db:migrate --trace 
    - bundle exec rake db:test:prepare --trace 
script: 
    - RAILS_ENV=test bundle exec rake spec 

gemfile: Gemfile.ci 

내가 별도의 데이터베이스 설정을 사용할 필요가

test: 
    adapter: postgresql 
    database: myapp_test 
    username: postgres 

database.travis.yml

Errno::ECONNREFUSED: Connection refused - connect(2)

.

내가 잘못하고있는 어떤 단서가 있습니까? 정확히 정확히 http://about.travis-ci.org/docs/user/database-setup/에있는 문서를 따르십시오. 데이터베이스 구성을 올바른 위치에 복사해야합니다.

답변

0

문제는 트래비스에서 elasticsearch 서비스를 사용해야한다는 것이 었습니다. 데이터베이스에 레코드를 추가하려면 인덱싱이 필요하고 존재하지 않는 elasticsearch 서버에 대한 연결이 거부되었습니다.

+0

거기에 있습니까? elasticsearch 서버가 필요한 이유는 무엇입니까? –

+0

@MarioUher 내 테스트 스위트에는 서버를 사용할 수있을 것으로 예상되는 테스트가있었습니다. – mehulkar

+0

아 좋아요. 아무 곳에도 언급되지 않았고 공식 문서에는 탄성 검색 패키지에 대한 링크가 포함되었습니다. 그래서 나는 매우 혼란 스러웠다. 그러나 Travis의 지원이 정말 좋았고 제 문제로 도왔습니다. –

1

은 왜

bundle exec rake db:migrate 
bundle exec rake db:test:prepare 

DB를을하고있다 : 시험 : 존재하지 않는 개발 데이터베이스를 시도하고 액세스하려고 준비합니다. 그리고 rake db : migrate는 Travis에 의해 자동으로 실행되어야합니다.

+0

닫기 위 명령은 모두 dev에 대해 실행됩니다. 환경. – rb512

+0

rake db : test : prepare가 개발 DB에 액세스하지 못한다고 생각하지 않습니다. http://stackoverflow.com/a/15170024/986415 – mehulkar

+0

두 개의 명령없이 시도하십시오 – mehulkar

0

doc을 바탕으로, 당신은

services: 
    - postgresql 

먼저 PostgreSQL의 서비스를 설정 (옵션)와 DB의 유형을 지정해야합니다

env: 
     - DB=pgsql 

참고 : postgresqlpostgres가 작동하지 않습니다를. pgsql를 사용하십시오! 나는 또한 파일이,/BTW database.yml.travis

default: &default 
    adapter: postgresql 
    encoding: unicode 
    pool: 5 

development: 
    <<: *default 
    database: courseselect_development 

test: 
    <<: *default 
    database: courseselect_test 

production: 
    <<: *default 
    database: courseselect_developement 

language: ruby 

rvm: 
    - 2.2 

env: 
    - DB=pgsql 

services: 
    - postgresql 

script: 
    - RAILS_ENV=test bundle exec rake db:migrate --trace 
    - bundle exec rake db:test:prepare 
    - bundle exec rake 

before_script: 
    - cp config/database.yml.travis config/database.yml 
    - psql -c 'create database courseselect_test;' -U postgres 

설정

.travis.yml : 여기

은 나를 위해 일한 전체 코드입니다 과 동일한 내용의 config/database.yml.travis

관련 문제