Utilizo gitlab-ci en mi aplicación de rieles, funcionó correctamente hasta ayer pero no pasa debido a:
rake aborted!
PG::ConnectionBad: could not translate host name "postgres" to address: Name does not resolve
/usr/local/bundle/gems/pg-1.1.4/lib/pg.rb:56:in `initialize'
/usr/local/bundle/gems/pg-1.1.4/lib/pg.rb:56:in `new'
/usr/local/bundle/gems/pg-1.1.4/lib/pg.rb:56:in `connect'
....
Tasks: TOP => db:schema:load => db:check_protected_environments
.gitlab-ci.yml:
rspec:
stage: test
services:
- postgres:10
variables:
DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/$POSTGRES_DB"
POSTGRES_DB: db_test
RAILS_ENV: test
before_script:
- ruby -v
script:
- cp config/application.sample.yml config/application.yml
- cp config/database.sample.yml config/database.yml
- bundle exec rake db:schema:load
- bundle exec rspec spec
Parece que no puede encontrar el servicio postgres ejecutándose o, por alguna razón, el servicio de la base de datos no se está ejecutando correctamente, supongo que algunas partes internas han cambiado en gitlab-ci.
ruby-on-rails
gitlab-ci
gitlab-ci-runner
Alireza mohagheghi
fuente
fuente
Respuestas:
EDITAR: Este fue un cambio previsto en las imágenes, ahora debe establecer una contraseña o configurar más:
Esto parece haberse introducido cuando las imágenes de la ventana acoplable se actualizaron a las nuevas versiones .
En su lugar, puede extraer la imagen 10.11 para evitar este problema por el momento:
No estoy seguro de por qué sucede esto, pero estamos experimentando lo mismo desde la última actualización de la imagen del acoplador . He encontrado que este también es el caso al pasar de 12.1 a 12.2.
fuente
postgres tiene dos nombres de variables de entorno requeridos
POSTGRES_USER
yPOSTGRES_PASSWORD
si no los proporciona, el contenedor no se ejecutará.documentación de gitlab-ci sobre servicios
fuente