diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2017-03-13 15:04:46 +0100 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2017-03-21 14:55:41 +0100 |
commit | 3883a5f906742dd6cf6cccec47b495c661ec7b01 (patch) | |
tree | a68be0007e4152ce27d472bec105fde46e233e75 /lib/tasks/gitlab | |
parent | 0ebf14621fe02adbf874bcb694a7be78794ec89c (diff) | |
download | gitlab-ce-3883a5f906742dd6cf6cccec47b495c661ec7b01.tar.gz |
Rake task that can install gitaly at a tag version
Diffstat (limited to 'lib/tasks/gitlab')
-rw-r--r-- | lib/tasks/gitlab/gitaly.rake | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/gitaly.rake b/lib/tasks/gitlab/gitaly.rake new file mode 100644 index 00000000000..c288e17ac8d --- /dev/null +++ b/lib/tasks/gitlab/gitaly.rake @@ -0,0 +1,23 @@ +namespace :gitlab do + namespace :gitaly do + desc "GitLab | Install or upgrade gitaly" + task :install, [:dir] => :environment do |t, args| + warn_user_is_not_gitlab + unless args.dir.present? + abort %(Please specify the directory where you want to install gitaly:\n rake "gitlab:gitaly:install[/home/git/gitaly]") + end + + tag = "v#{Gitlab::GitalyClient.expected_server_version}" + repo = 'https://gitlab.com/gitlab-org/gitaly.git' + + checkout_or_clone_tag(tag: tag, repo: repo, target_dir: args.dir) + + _, status = Gitlab::Popen.popen(%w[which gmake]) + command = status.zero? ? 'gmake' : 'make' + + Dir.chdir(args.dir) do + run_command!([command]) + end + end + end +end |