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:
```
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:

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