From 23a8e59938477be9938ed96176e8f9220ca78471 Mon Sep 17 00:00:00 2001 From: Riyad Preukschas Date: Thu, 6 Dec 2012 21:16:48 +0100 Subject: [PATCH] Improve gitlab:env:info task Renamed from gitlab:app:info Add several extra info points --- doc/raketasks/maintenance.md | 49 ++++++++++++++++--------- lib/tasks/gitlab/info.rake | 71 ++++++++++++++++++++++++++---------- 2 files changed, 82 insertions(+), 38 deletions(-) diff --git a/doc/raketasks/maintenance.md b/doc/raketasks/maintenance.md index 431599dc..1247d4b6 100644 --- a/doc/raketasks/maintenance.md +++ b/doc/raketasks/maintenance.md @@ -11,42 +11,55 @@ bundle exec rake gitlab:app:setup ``` -### Gather Information about GitLab Installation +### Gather information about GitLab and the system it runs on -This command gathers information about your GitLab installation. These can be used in issue reports. +This command gathers information about your GitLab installation and the System +it runs on. These may be useful when asking for help or reporting issues. ``` -bundle exec rake gitlab:app:info +bundle exec rake gitlab:env:info ``` Example output: ``` -Gitlab information -Version: 4.0.0pre -Resivion: 8022628 - System information -System: Debian6.0.6 -Home: /home/gitlab -User: gitlab -Ruby: ruby-1.9.3-p286 -Gems: 1.8.24 +System: Debian 6.0.6 +Current User: gitlab +Using RVM: yes +RVM Version: 1.17.2 +Ruby Version: ruby-1.9.3-p327 +Gem Version: 1.8.24 +Bundler Version:1.2.3 +Rake Version: 10.0.1 + +GitLab information +Version: 3.1.0 +Resivion: fd5141d +Directory: /home/gitlab/gitlab +DB Adapter: mysql2 +URL: http://localhost:3000 +HTTP Clone URL: http://localhost:3000/some-project.git +SSH Clone URL: git@localhost:some-project.git +Using LDAP: no +Using Omniauth: no Gitolite information -Version: v3.04-4-g4524f01 -Admin URI: git@localhost:gitolite-admin -Base Path: /home/git/repositories/ -Hook Path: /home/git/.gitolite/hooks/ -Git: /usr/bin/git +Version: v3.04-4-g4524f01 +Admin URI: git@localhost:gitolite-admin +Admin Key: gitlab +Repositories: /home/git/repositories/ +Hooks: /home/git/.gitolite/hooks/ +Git: /usr/bin/git ``` + ### Check GitLab installation status [Trouble-Shooting-Guide](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide) ``` -bundle exec rake gitlab:app:status +bundle exec rake gitlab:check ``` Example output: diff --git a/lib/tasks/gitlab/info.rake b/lib/tasks/gitlab/info.rake index beaf496b..a13f4027 100644 --- a/lib/tasks/gitlab/info.rake +++ b/lib/tasks/gitlab/info.rake @@ -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