23a8e59938
Renamed from gitlab:app:info Add several extra info points
80 lines
3 KiB
Ruby
80 lines
3 KiB
Ruby
namespace :gitlab do
|
|
namespace :env do
|
|
desc "GITLAB | Show information about GitLab and its environment"
|
|
task :info => :environment do
|
|
|
|
# check which OS is running
|
|
if Kernel.system('lsb_release > /dev/null 2>&1')
|
|
os_name = `lsb_release -irs`
|
|
elsif File.exists?('/etc/system-release') && File.readable?('/etc/system-release')
|
|
os_name = File.read('/etc/system-release')
|
|
elsif File.exists?('/etc/debian_version') && File.readable?('/etc/debian_version')
|
|
debian_version = File.read('/etc/debian_version')
|
|
os_name = "Debian #{debian_version}"
|
|
end
|
|
os_name = os_name.gsub(/\n/, '')
|
|
|
|
# check if there is an RVM environment
|
|
m, rvm_version = `rvm --version`.match(/rvm ([\d\.]+) /).to_a
|
|
# check Bundler version
|
|
m, bunder_version = `bundle --version`.match(/Bundler version ([\d\.]+)/).to_a
|
|
# check Bundler version
|
|
m, rake_version = `rake --version`.match(/rake, version ([\d\.]+)/).to_a
|
|
|
|
puts ""
|
|
puts "System information".yellow
|
|
puts "System:\t\t#{os_name}"
|
|
puts "Current User:\t#{`whoami`}"
|
|
puts "Using RVM:\t#{rvm_version.present? ? "yes".green : "no"}"
|
|
puts "RVM Version:\t#{rvm_version}" if rvm_version.present?
|
|
puts "Ruby Version:\t#{ENV['RUBY_VERSION']}"
|
|
puts "Gem Version:\t#{`gem --version`}"
|
|
puts "Bundler Version:#{bunder_version}"
|
|
puts "Rake Version:\t#{rake_version}"
|
|
|
|
|
|
# check database adapter
|
|
database_adapter = ActiveRecord::Base.connection.adapter_name.downcase
|
|
|
|
project = Project.new(path: "some-project")
|
|
project.path = "some-project"
|
|
# construct clone URLs
|
|
http_clone_url = project.http_url_to_repo
|
|
ssh_clone_url = project.ssh_url_to_repo
|
|
|
|
puts ""
|
|
puts "GitLab information".yellow
|
|
puts "Version:\t#{Gitlab::Version}"
|
|
puts "Revision:\t#{Gitlab::Revision}"
|
|
puts "Directory:\t#{Rails.root}"
|
|
puts "DB Adapter:\t#{database_adapter}"
|
|
puts "URL:\t\t#{Gitlab.config.url}"
|
|
puts "HTTP Clone URL:\t#{http_clone_url}"
|
|
puts "SSH Clone URL:\t#{ssh_clone_url}"
|
|
puts "Using LDAP:\t#{Gitlab.config.ldap_enabled? ? "yes".green : "no"}"
|
|
puts "Using Omniauth:\t#{Gitlab.config.omniauth_enabled? ? "yes".green : "no"}"
|
|
puts "Omniauth Providers:\t#{Gitlab.config.omniauth_providers}" if Gitlab.config.omniauth_enabled?
|
|
|
|
|
|
|
|
# check Gitolite version
|
|
gitolite_version_file = "#{Gitlab.config.git_base_path}/../gitolite/src/VERSION"
|
|
if File.exists?(gitolite_version_file) && File.readable?(gitolite_version_file)
|
|
gitolite_version = File.read(gitolite_version_file)
|
|
else
|
|
gitolite_version = 'unknown'
|
|
end
|
|
|
|
puts ""
|
|
puts "Gitolite information".yellow
|
|
puts "Version:\t#{gitolite_version}"
|
|
puts "Admin URI:\t#{Gitlab.config.gitolite_admin_uri}"
|
|
puts "Admin Key:\t#{Gitlab.config.gitolite_admin_key}"
|
|
puts "Repositories:\t#{Gitlab.config.git_base_path}"
|
|
puts "Hooks:\t\t#{Gitlab.config.git_hooks_path}"
|
|
puts "Git:\t\t#{Gitlab.config.git.path}"
|
|
|
|
end
|
|
end
|
|
end
|