Improve gitlab:env:info task

Renamed from gitlab:app:info
Add several extra info points
This commit is contained in:
Riyad Preukschas 2012-12-06 21:16:48 +01:00
parent 552c2d665b
commit 23a8e59938
2 changed files with 82 additions and 38 deletions

View file

@ -1,14 +1,9 @@
namespace :gitlab do
namespace :app do
desc "GITLAB | Get Information about this installation"
namespace :env do
desc "GITLAB | Show information about GitLab and its environment"
task :info => :environment do
puts ""
puts "Gitlab information".yellow
puts "Version:\t#{Gitlab::Version}"
puts "Revision:\t#{Gitlab::Revision}"
# check which os is running
# 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')
@ -19,7 +14,50 @@ namespace :gitlab do
end
os_name = os_name.gsub(/\n/, '')
# check gitolite version
# 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)
@ -27,20 +65,13 @@ namespace :gitlab do
gitolite_version = 'unknown'
end
puts ""
puts "System information".yellow
puts "System:\t\t#{os_name}"
puts "Home:\t\t#{ENV['HOME']}"
puts "User:\t\t#{ENV['LOGNAME']}"
puts "Ruby:\t\t#{ENV['RUBY_VERSION']}"
puts "Gems:\t\t#{`gem --version`}"
puts ""
puts "Gitolite information".yellow
puts "Version:\t#{gitolite_version}"
puts "Admin URI:\t#{Gitlab.config.git_host.admin_uri}"
puts "Base Path:\t#{Gitlab.config.git_base_path}"
puts "Hook Path:\t#{Gitlab.config.git_hooks_path}"
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