summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--doc/install/installation.md2
-rw-r--r--lib/tasks/gitlab/shell.rake13
3 files changed, 11 insertions, 5 deletions
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/doc/install/installation.md b/doc/install/installation.md
index a0e39e42e7b..bae39e20e18 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -257,7 +257,7 @@ We recommend using a PostgreSQL database. For MySQL check [MySQL setup guide](da
GitLab Shell is an SSH access and repository management software developed specially for GitLab.
# Run the installation task for gitlab-shell (replace `REDIS_URL` if needed):
- sudo -u git -H bundle exec rake gitlab:shell:install[v1.9.7] REDIS_URL=redis://localhost:6379 RAILS_ENV=production
+ sudo -u git -H bundle exec rake gitlab:shell:install[v1.9.7] REDIS_URL=unix:/var/run/redis/redis.sock RAILS_ENV=production
# By default, the gitlab-shell config is generated from your main GitLab config.
# You can review (and modify) the gitlab-shell config as follows:
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}