简体   繁体   English

GiLab CI-Redis :: CannotConnectError:在127.0.0.1:6379上连接到Redis时出错

[英]GiLab CI - Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379

Few tests are failing in pipeline with error Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) . 很少有测试在管道中失败,并显示错误Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED)

My .gitlab-ci.yml file 我的.gitlab-ci.yml文件

image: starefossen/ruby-node:latest

services:
  - mongo:latest
  - redis:latest

variables:
  MONGODB_URI: mongodb://mongo:27017/db_test
  REDISTOGO_URL: redis://localhost:6379

before_script:
  - bundle install --path=cache/bundler
  - cp config/mongoid.yml.gitlab config/mongoid.yml
  - RAILS_ENV=test bundle exec rake db:create db:migrate

test:
  script:
   - bundle exec rake test

my config/initializers/sidekiq.rb file 我的config/initializers/sidekiq.rb文件

require 'sidekiq'
require 'sidekiq-status'

Sidekiq.configure_client do |config|
  config.redis = { size: 5, url: ENV['REDISTOGO_URL'] }
end

Sidekiq.configure_server do |config|
  config.server_middleware do |chain|
    chain.add Sidekiq::Throttler, storage: :redis
  end
  config.redis = { size: 10, url: ENV['REDISTOGO_URL'] }
end

can anyone point me the right direction? 谁能为我指出正确的方向? Thank you 谢谢

There's no one single localhost in Docker which is used by Gitlab CI. Gitlab CI使用的Docker中没有一个本地主机。 The convention is that the service name declared below will be available for other containers in the docker network by it's name - redis in that case: 约定是,以下声明的服务名称将通过其名称可用于docker网络中的其他容器-在这种情况下, redis

services:
  - redis:latest

So replacing localhost with redis should be enough: 因此,用redis替换localhost就足够了:

variables:
-   REDISTOGO_URL: redis://localhost:6379
+   REDISTOGO_URL: redis://redis:6379

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Sidekiq Redis :: CannotConnectError:生产时在127.0.0.1:6379上连接到Redis时出错 - Sidekiq Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 on production 想在Heroku上使用Redis(Redis :: CannotConnectError(在127.0.0.1:6379上连接到Redis时出错(ECONNREFUSED))) - Want to use Redis on Heroku (Redis::CannotConnectError ( Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)) ) Rails-Redis :: CannotConnectError:在本地主机上连接Redis时出错:6379(Errno :: ECONNREFUSED) - Rails - Redis::CannotConnectError: Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED) Redis :: CannotConnectError(在localhost:6379(Errno :: ECONNREFUSED)上连接到Redis时出错): - Redis::CannotConnectError (Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)): rails + docker + sidekiq +错误连接到127.0.0.1:6379上的Redis(Errno :: ECONNREFUSED) - rails + docker + sidekiq + Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) 在 Rails 应用程序上的 127.0.0.1:6379(ECONNREFUSED) 上连接到 Redis 时出错 - Error connecting to Redis on 127.0.0.1:6379(ECONNREFUSED) on rails application 在 127.0.0.1:6379 (Errno::ECONNREFUSED) 上连接到 Redis 时出错 - Wercker - Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) - Wercker (在localhost:6379(Errno :: ECONNREFUSED)上连接到Redis时出错): - (Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)): Sidekiq 在 docker-compose 上的 127.0.0.1:6379 (Errno::ECONNREFUSED) 上连接到 Redis 时出错 - Sidekiq Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) on docker-compose Redis / Resque [在本地主机上连接到Redis时出错:6379(ECONNREFUSED)] - Redis/Resque [Error connecting to Redis on localhost:6379 (ECONNREFUSED)]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM