psql:无法连接到“travis-ci”上的服务器错误

时间:2018-04-16 05:14:05

标签: ruby postgresql travis-ci

我的构建在travis-ci上打破了:

$ psql -c 'create database travis_ci_test;' -U postgres
psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

命令“psql -c”create database travis_ci_test;' -U postgres“失败并在2期退出。

我在这.travis.yml

addons:
    postgresql: '10'
    apt:
        packages:
        - postgresql-10
        - postgresql-client-10

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

language: ruby

rvm:
    - 2.5.0

script:
    - bundle exec rails db:reset db:setup db:migrate RAILS_ENV=test
    - bundle exec rspec
    - bundle exec rubocop --config .rubocop.yml

3 个答案:

答案 0 :(得分:0)

您需要添加服务:postgresql 才能启动该服务。点击这里:

language: ruby
script:
  - RAILS_ENV=test bundle exec rake db:migrate --trace
  - bundle exec rake db:test:prepare
  - bundle exec rspec
before_script:
  - psql -c 'create database db_test;' -U postgres
rvm:
  - 2.5.0
services:
  - postgresql
  - memcached
  - redis-server
addons:
  postgresql: "9.4"
before_install:
  - gem update --system

答案 1 :(得分:0)

修改后的解决方案:

我能够找出问题所在。参见下面的最终解决方案:

第一:Travis过去并没有使用postgres-10进行压缩

第二:我需要删除创建新数据库的行。

services:
    - postgresql

addons:
    postgresql: '9.6'

before_script:
    - cp config/database.yml.travis config/database.yml

language: ruby

rvm:
    - 2.5.0

script:
    - bundle exec rails db:reset db:setup db:migrate RAILS_ENV=test
    - bundle exec rspec
    - bundle exec rubocop --config .rubocop.yml

答案 2 :(得分:0)

似乎这些年来,Travis CI切换到了一种无法推断PostgreSQL是来自Ruby中的Gemfile或Rails项目的依赖项的东西。

其他人注意到Travis配置中缺少的服务。这是明确缺少的部分:

services:
  - postgresql

我想知道为什么我的旧项目最近在更新依赖项时开始失败,但是如果在master中再次运行,即使是工作正常的旧项目也会失败。这很棘手!

参考: https://docs.travis-ci.com/user/database-setup/#postgresql