2021-03-11 19:13:27 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2014-09-02 18:07:02 +05:30
|
|
|
namespace :gitlab do
|
2015-09-11 14:41:01 +05:30
|
|
|
desc "GitLab | Setup production application"
|
2018-03-17 18:26:18 +05:30
|
|
|
task setup: :gitlab_environment do
|
2018-10-15 14:42:47 +05:30
|
|
|
check_gitaly_connection
|
2014-09-02 18:07:02 +05:30
|
|
|
setup_db
|
|
|
|
end
|
|
|
|
|
2018-10-15 14:42:47 +05:30
|
|
|
def check_gitaly_connection
|
|
|
|
Gitlab.config.repositories.storages.each do |name, _details|
|
|
|
|
Gitlab::GitalyClient::ServerService.new(name).info
|
|
|
|
end
|
|
|
|
rescue GRPC::Unavailable => ex
|
|
|
|
puts "Failed to connect to Gitaly...".color(:red)
|
|
|
|
puts "Error: #{ex}"
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
|
2014-09-02 18:07:02 +05:30
|
|
|
def setup_db
|
|
|
|
warn_user_is_not_gitlab
|
|
|
|
|
|
|
|
unless ENV['force'] == 'yes'
|
|
|
|
puts "This will create the necessary database tables and seed the database."
|
|
|
|
puts "You will lose any previous data stored in the database."
|
|
|
|
ask_to_continue
|
|
|
|
puts ""
|
|
|
|
end
|
|
|
|
|
2019-07-07 11:18:12 +05:30
|
|
|
# In production, we might want to prevent ourselves from shooting
|
|
|
|
# ourselves in the foot, so let's only do this in a test or
|
|
|
|
# development environment.
|
2022-06-21 17:19:12 +05:30
|
|
|
Rake::Task["dev:terminate_all_connections"].invoke unless Rails.env.production?
|
2019-07-07 11:18:12 +05:30
|
|
|
|
2016-06-02 11:05:42 +05:30
|
|
|
Rake::Task["db:reset"].invoke
|
2023-06-20 00:43:36 +05:30
|
|
|
Rake::Task["gitlab:db:lock_writes"].invoke
|
2014-09-02 18:07:02 +05:30
|
|
|
Rake::Task["db:seed_fu"].invoke
|
|
|
|
rescue Gitlab::TaskAbortedByUserError
|
2016-06-16 23:09:34 +05:30
|
|
|
puts "Quitting...".color(:red)
|
2014-09-02 18:07:02 +05:30
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
end
|