diff --git a/CHANGELOG b/CHANGELOG index 6667eceb94a..3f6cc3a8268 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -32,6 +32,7 @@ v 7.3.0 - Zen mode (fullscreen) for issues/MR/notes (Robert Schilling) - Add ability to configure webhook timeout via gitlab.yml (Wes Gurney) - Sort project merge requests in asc or desc order for updated_at or created_at field (sponsored by O'Reilly Media) + - Add Redis socket support to 'rake gitlab:shell:install' v 7.2.1 - Delete orphaned labels during label migration (James Brooks) diff --git a/lib/tasks/gitlab/shell.rake b/lib/tasks/gitlab/shell.rake index ece3ad58385..71716ae1856 100644 --- a/lib/tasks/gitlab/shell.rake +++ b/lib/tasks/gitlab/shell.rake @@ -24,8 +24,6 @@ namespace :gitlab do Dir.chdir(target_dir) do sh "git fetch origin && git reset --hard $(git describe #{args.tag} || git describe origin/#{args.tag})" - redis_url = URI.parse(ENV['REDIS_URL'] || "redis://localhost:6379") - config = { user: user, gitlab_url: gitlab_url, @@ -34,14 +32,21 @@ namespace :gitlab do auth_file: File.join(home_dir, ".ssh", "authorized_keys"), redis: { bin: %x{which redis-cli}.chomp, - host: redis_url.host, - port: redis_url.port, namespace: "resque:gitlab" }.stringify_keys, log_level: "INFO", audit_usernames: false }.stringify_keys + redis_url = URI.parse(ENV['REDIS_URL'] || "redis://localhost:6379") + + if redis_url.scheme == 'unix' + config['redis']['socket'] = redis_url.path + else + config['redis']['host'] = redis_url.host + config['redis']['port'] = redis_url.port + end + # Generate config.yml based on existing gitlab settings File.open("config.yml", "w+") {|f| f.puts config.to_yaml}