Commit 49cf9badbce730c053496306778b801d596658af
1 parent
b698094d
Exists in
master
and in
4 other branches
Gitlab::ShellEnv added
Showing
4 changed files
with
22 additions
and
3 deletions
Show diff stats
lib/gitlab/backend/grack_auth.rb
@@ -32,8 +32,7 @@ module Grack | @@ -32,8 +32,7 @@ module Grack | ||
32 | self.user = User.find_by_email(login) || User.find_by_username(login) | 32 | self.user = User.find_by_email(login) || User.find_by_username(login) |
33 | return false unless user.try(:valid_password?, password) | 33 | return false unless user.try(:valid_password?, password) |
34 | 34 | ||
35 | - # Set GL_ID env variable | ||
36 | - ENV['GL_ID'] = "user-#{user.id}" | 35 | + Gitlab::ShellEnv.set_env(user) |
37 | end | 36 | end |
38 | 37 | ||
39 | # Git upload and receive | 38 | # Git upload and receive |
lib/gitlab/backend/shell.rb
@@ -53,7 +53,6 @@ module Gitlab | @@ -53,7 +53,6 @@ module Gitlab | ||
53 | system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{key_id} \"#{key_content}\"") | 53 | system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{key_id} \"#{key_content}\"") |
54 | end | 54 | end |
55 | 55 | ||
56 | - | ||
57 | def url_to_repo path | 56 | def url_to_repo path |
58 | Gitlab.config.gitlab_shell.ssh_path_prefix + "#{path}.git" | 57 | Gitlab.config.gitlab_shell.ssh_path_prefix + "#{path}.git" |
59 | end | 58 | end |
@@ -0,0 +1,17 @@ | @@ -0,0 +1,17 @@ | ||
1 | +module Gitlab | ||
2 | + # This module provide 2 methods | ||
3 | + # to set specific ENV variabled for GitLab Shell | ||
4 | + module ShellEnv | ||
5 | + extend self | ||
6 | + | ||
7 | + def set_env(user) | ||
8 | + # Set GL_ID env variable | ||
9 | + ENV['GL_ID'] = "user-#{user.id}" | ||
10 | + end | ||
11 | + | ||
12 | + def reset_env | ||
13 | + # Reset GL_ID env variable | ||
14 | + ENV['GL_ID'] = nil | ||
15 | + end | ||
16 | + end | ||
17 | +end |
lib/gitlab/satellite/action.rb
@@ -17,6 +17,8 @@ module Gitlab | @@ -17,6 +17,8 @@ module Gitlab | ||
17 | # * Locks the satellite repo | 17 | # * Locks the satellite repo |
18 | # * Yields the prepared satellite repo | 18 | # * Yields the prepared satellite repo |
19 | def in_locked_and_timed_satellite | 19 | def in_locked_and_timed_satellite |
20 | + Gitlab::ShellEnv.set_env(user) | ||
21 | + | ||
20 | Grit::Git.with_timeout(options[:git_timeout]) do | 22 | Grit::Git.with_timeout(options[:git_timeout]) do |
21 | project.satellite.lock do | 23 | project.satellite.lock do |
22 | return yield project.satellite.repo | 24 | return yield project.satellite.repo |
@@ -28,6 +30,8 @@ module Gitlab | @@ -28,6 +30,8 @@ module Gitlab | ||
28 | rescue Grit::Git::GitTimeout => ex | 30 | rescue Grit::Git::GitTimeout => ex |
29 | Gitlab::GitLogger.error(ex.message) | 31 | Gitlab::GitLogger.error(ex.message) |
30 | return false | 32 | return false |
33 | + ensure | ||
34 | + Gitlab::ShellEnv.reset_env | ||
31 | end | 35 | end |
32 | 36 | ||
33 | # * Clears the satellite | 37 | # * Clears the satellite |