summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
authorJacob Vosmaer <contact@jacobvosmaer.nl>2013-09-24 14:36:57 +0200
committerJacob Vosmaer <contact@jacobvosmaer.nl>2013-09-24 14:36:57 +0200
commitddf873ad5e4d5e856ac59c580a7352cc2d47ad76 (patch)
tree71f35462ae12ac81d9941297caedbf29a8c9142f /lib/tasks
parent9587506124f2a36f9b844da2c9fe17a26fe1daa9 (diff)
downloadgitlab-ce-ddf873ad5e4d5e856ac59c580a7352cc2d47ad76.tar.gz
Add gitlab-shell/bin/check to rake gitlab:check
We sometimes encounter connectivity issues where gitlab-shell cannot make API calls to the Rails application. There is a self-test script `gitlab-shell/bin/check` that tries to connect to the API; this commit runs that script as part of `rake gitlab:check`.
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/gitlab/check.rake18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
index 1e9228a3509..72a6743ee72 100644
--- a/lib/tasks/gitlab/check.rake
+++ b/lib/tasks/gitlab/check.rake
@@ -376,6 +376,7 @@ namespace :gitlab do
check_repo_base_permissions
check_update_hook_is_up_to_date
check_repos_update_hooks_is_link
+ check_gitlab_shell_self_test
finished_checking "GitLab Shell"
end
@@ -552,6 +553,23 @@ namespace :gitlab do
end
end
+ def check_gitlab_shell_self_test
+ gitlab_shell_repo_base = File.expand_path('gitlab-shell', gitlab_shell_user_home)
+ check_cmd = File.expand_path('bin/check', gitlab_shell_repo_base)
+ puts "Running #{check_cmd}"
+ if system(check_cmd, chdir: gitlab_shell_repo_base)
+ puts 'gitlab-shell self-check successful'.green
+ else
+ puts 'gitlab-shell self-check failed'.red
+ try_fixing_it(
+ 'Make sure GitLab is running;',
+ 'Check the gitlab-shell configuration file:',
+ sudo_gitlab("editor #{File.expand_path('config.yml', gitlab_shell_repo_base)}")
+ )
+ fix_and_rerun
+ end
+ end
+
# Helper methods
########################