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

Mar*_*edo 6 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"?
Run Code Online (Sandbox Code Playgroud)

命令“psql -c '创建数据库travis_ci_test;' -U postgres" 失败并在期间以 2 退出。

我在用这个.travis.yml

2020 年 5 月 31 日更新的 Yaml 版本:

dist: trusty

env:
    global:
      - PGPORT=5433

services:
    - postgresql

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

before_script:
    - export RUBYOPT='-W0' # to remove ruby 2.7 warnings
    - cp config/database.yml.travis config/database.yml

language: ruby

rvm:
    - 2.7.0

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

before_install:
    - gem update --system
    - gem install bundler
Run Code Online (Sandbox Code Playgroud)

Ami*_*mad 5

你需要添加services: 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
Run Code Online (Sandbox Code Playgroud)


Mar*_*edo 3

解决方案后编辑:

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

第一: 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
Run Code Online (Sandbox Code Playgroud)