59 lines
1.4 KiB
Ruby
59 lines
1.4 KiB
Ruby
|
desc "Check gitlab installation status"
|
||
|
task :gitlab_status => :environment do
|
||
|
puts "Starting diagnostic"
|
||
|
|
||
|
print "config/database.yml............"
|
||
|
if File.exists?(File.join Rails.root, "config", "database.yml")
|
||
|
puts "exists".green
|
||
|
else
|
||
|
puts "missing".red
|
||
|
return
|
||
|
end
|
||
|
|
||
|
print "config/gitlab.yml............"
|
||
|
if File.exists?(File.join Rails.root, "config", "gitlab.yml")
|
||
|
puts "exists".green
|
||
|
else
|
||
|
puts "missing".red
|
||
|
return
|
||
|
end
|
||
|
|
||
|
GIT_HOST = YAML.load_file("#{Rails.root}/config/gitlab.yml")["git_host"]
|
||
|
print "/home/git/repositories/............"
|
||
|
if File.exists?(GIT_HOST['base_path'])
|
||
|
puts "exists".green
|
||
|
else
|
||
|
puts "missing".red
|
||
|
return
|
||
|
end
|
||
|
|
||
|
print "/home/git/repositories/ is writable?............"
|
||
|
if File.stat(GIT_HOST['base_path']).writable?
|
||
|
puts "YES".green
|
||
|
else
|
||
|
puts "NO".red
|
||
|
return
|
||
|
end
|
||
|
|
||
|
begin
|
||
|
`git clone #{GIT_HOST["admin_uri"]} /tmp/gitolite_gitlab_test`
|
||
|
FileUtils.rm_rf("/tmp/gitolite_gitlab_test")
|
||
|
print "Can clone gitolite-admin?............"
|
||
|
puts "YES".green
|
||
|
rescue
|
||
|
print "Can clone gitolite-admin?............"
|
||
|
puts "NO".red
|
||
|
return
|
||
|
end
|
||
|
|
||
|
print "UMASK for .gitolite.rc is 0007? ............"
|
||
|
unless open("#{GIT_HOST['base_path']}/../.gitolite.rc").grep(/REPO_UMASK = 0007/).empty?
|
||
|
puts "YES".green
|
||
|
else
|
||
|
puts "NO".red
|
||
|
return
|
||
|
end
|
||
|
|
||
|
puts "\nFinished"
|
||
|
end
|