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

@ -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: Example output:
``` ```
Gitlab information
Version: 4.0.0pre
Resivion: 8022628
System information System information
System: Debian 6.0.6 System: Debian 6.0.6
Home: /home/gitlab Current User: gitlab
User: gitlab Using RVM: yes
Ruby: ruby-1.9.3-p286 RVM Version: 1.17.2
Gems: 1.8.24 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 Gitolite information
Version: v3.04-4-g4524f01 Version: v3.04-4-g4524f01
Admin URI: git@localhost:gitolite-admin Admin URI: git@localhost:gitolite-admin
Base Path: /home/git/repositories/ Admin Key: gitlab
Hook Path: /home/git/.gitolite/hooks/ Repositories: /home/git/repositories/
Hooks: /home/git/.gitolite/hooks/
Git: /usr/bin/git Git: /usr/bin/git
``` ```
### Check GitLab installation status ### Check GitLab installation status
[Trouble-Shooting-Guide](https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide) [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: Example output:

View file

@ -1,14 +1,9 @@
namespace :gitlab do namespace :gitlab do
namespace :app do namespace :env do
desc "GITLAB | Get Information about this installation" desc "GITLAB | Show information about GitLab and its environment"
task :info => :environment do task :info => :environment do
puts "" # check which OS is running
puts "Gitlab information".yellow
puts "Version:\t#{Gitlab::Version}"
puts "Revision:\t#{Gitlab::Revision}"
# check which os is running
if Kernel.system('lsb_release > /dev/null 2>&1') if Kernel.system('lsb_release > /dev/null 2>&1')
os_name = `lsb_release -irs` os_name = `lsb_release -irs`
elsif File.exists?('/etc/system-release') && File.readable?('/etc/system-release') elsif File.exists?('/etc/system-release') && File.readable?('/etc/system-release')
@ -19,7 +14,50 @@ namespace :gitlab do
end end
os_name = os_name.gsub(/\n/, '') 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" gitolite_version_file = "#{Gitlab.config.git_base_path}/../gitolite/src/VERSION"
if File.exists?(gitolite_version_file) && File.readable?(gitolite_version_file) if File.exists?(gitolite_version_file) && File.readable?(gitolite_version_file)
gitolite_version = File.read(gitolite_version_file) gitolite_version = File.read(gitolite_version_file)
@ -27,20 +65,13 @@ namespace :gitlab do
gitolite_version = 'unknown' gitolite_version = 'unknown'
end 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 ""
puts "Gitolite information".yellow puts "Gitolite information".yellow
puts "Version:\t#{gitolite_version}" puts "Version:\t#{gitolite_version}"
puts "Admin URI:\t#{Gitlab.config.git_host.admin_uri}" puts "Admin URI:\t#{Gitlab.config.gitolite_admin_uri}"
puts "Base Path:\t#{Gitlab.config.git_base_path}" puts "Admin Key:\t#{Gitlab.config.gitolite_admin_key}"
puts "Hook Path:\t#{Gitlab.config.git_hooks_path}" 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}" puts "Git:\t\t#{Gitlab.config.git.path}"
end end