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)
你需要添加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)
解决方案后编辑:
我能够找出问题所在。最终解决方案见下文:
第一: 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)