gitlab-org--gitlab-foss/lib/tasks/gitlab/setup.rake
Zeger-Jan van de Weg bbccd31057
Check Gitaly when running rake dev:setup
Before this change, trying to setup dev environment could be tried
without having at least one Gitaly running. Cloning the repositories
would fail, but not stop the setup.

Given this would lead to an inconsistent state, a check was added if we
could connect to the server.

Output when it fails:

```
$ rake dev:setup
Failed to connect to Gitaly...
Error: 14:Connect Failed
```
2018-04-19 10:40:28 +02:00

36 lines
966 B
Ruby

namespace :gitlab do
desc "GitLab | Setup production application"
task setup: :gitlab_environment do
check_gitaly_connection
setup_db
end
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
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
Rake::Task["db:reset"].invoke
Rake::Task["add_limits_mysql"].invoke
Rake::Task["setup_postgresql"].invoke
Rake::Task["db:seed_fu"].invoke
rescue Gitlab::TaskAbortedByUserError
puts "Quitting...".color(:red)
exit 1
end
end