debian-mirror-gitlab/lib/tasks/gitlab/info.rake

105 lines
4.4 KiB
Ruby
Raw Normal View History

2014-09-02 18:07:02 +05:30
namespace :gitlab do
namespace :env do
2015-09-11 14:41:01 +05:30
desc "GitLab | Show information about GitLab and its environment"
2018-03-17 18:26:18 +05:30
task info: :gitlab_environment do
2014-09-02 18:07:02 +05:30
# check if there is an RVM environment
2017-08-17 22:00:37 +05:30
rvm_version = run_and_match(%w(rvm --version), /[\d\.]+/).try(:to_s)
2014-09-02 18:07:02 +05:30
# check Ruby version
2017-08-17 22:00:37 +05:30
ruby_version = run_and_match(%w(ruby --version), /[\d\.p]+/).try(:to_s)
2014-09-02 18:07:02 +05:30
# check Gem version
2017-08-17 22:00:37 +05:30
gem_version = run_command(%w(gem --version))
2014-09-02 18:07:02 +05:30
# check Bundler version
2017-08-17 22:00:37 +05:30
bunder_version = run_and_match(%w(bundle --version), /[\d\.]+/).try(:to_s)
# check Rake version
rake_version = run_and_match(%w(rake --version), /[\d\.]+/).try(:to_s)
# check redis version
redis_version = run_and_match(%w(redis-cli --version), /redis-cli (\d+\.\d+\.\d+)/).to_a
2019-07-07 11:18:12 +05:30
# check for system defined proxies
if Gitlab.ee?
proxies = Gitlab::Proxy.detect_proxy.map {|k, v| "#{k}: #{v}"}.join("\n\t\t")
end
2017-08-17 22:00:37 +05:30
# check Git version
git_version = run_and_match([Gitlab.config.git.bin_path, '--version'], /git version ([\d\.]+)/).to_a
2017-09-10 17:25:29 +05:30
# check Go version
go_version = run_and_match(%w(go version), /go version (.+)/).to_a
2014-09-02 18:07:02 +05:30
puts ""
puts "System information".color(:yellow)
puts "System:\t\t#{os_name || "unknown".color(:red)}"
2019-07-07 11:18:12 +05:30
if Gitlab.ee?
puts "Proxy:\t\t#{proxies.present? ? proxies.color(:green) : "no"}"
end
2017-08-17 22:00:37 +05:30
puts "Current User:\t#{run_command(%w(whoami))}"
puts "Using RVM:\t#{rvm_version.present? ? "yes".color(:green) : "no"}"
2014-09-02 18:07:02 +05:30
puts "RVM Version:\t#{rvm_version}" if rvm_version.present?
puts "Ruby Version:\t#{ruby_version || "unknown".color(:red)}"
puts "Gem Version:\t#{gem_version || "unknown".color(:red)}"
puts "Bundler Version:#{bunder_version || "unknown".color(:red)}"
puts "Rake Version:\t#{rake_version || "unknown".color(:red)}"
2017-08-17 22:00:37 +05:30
puts "Redis Version:\t#{redis_version[1] || "unknown".color(:red)}"
puts "Git Version:\t#{git_version[1] || "unknown".color(:red)}"
2014-09-02 18:07:02 +05:30
puts "Sidekiq Version:#{Sidekiq::VERSION}"
2017-09-10 17:25:29 +05:30
puts "Go Version:\t#{go_version[1] || "unknown".color(:red)}"
2014-09-02 18:07:02 +05:30
2015-09-11 14:41:01 +05:30
project = Group.new(path: "some-group").projects.build(path: "some-project")
2014-09-02 18:07:02 +05:30
# construct clone URLs
http_clone_url = project.http_url_to_repo
ssh_clone_url = project.ssh_url_to_repo
2019-07-07 11:18:12 +05:30
if Gitlab.ee?
geo_node_type =
if Gitlab::Geo.current_node
Gitlab::Geo.current_node.primary ? 'Primary' : 'Secondary'
else
'Undefined'.color(:red)
end
end
2017-09-10 17:25:29 +05:30
omniauth_providers = Gitlab.config.omniauth.providers.map { |provider| provider['name'] }
2014-09-02 18:07:02 +05:30
puts ""
puts "GitLab information".color(:yellow)
2014-09-02 18:07:02 +05:30
puts "Version:\t#{Gitlab::VERSION}"
2018-10-15 14:42:47 +05:30
puts "Revision:\t#{Gitlab.revision}"
2014-09-02 18:07:02 +05:30
puts "Directory:\t#{Rails.root}"
2019-07-07 11:18:12 +05:30
puts "DB Adapter:\t#{Gitlab::Database.human_adapter_name}"
puts "DB Version:\t#{Gitlab::Database.version}"
2014-09-02 18:07:02 +05:30
puts "URL:\t\t#{Gitlab.config.gitlab.url}"
puts "HTTP Clone URL:\t#{http_clone_url}"
puts "SSH Clone URL:\t#{ssh_clone_url}"
2019-07-07 11:18:12 +05:30
if Gitlab.ee?
puts "Elasticsearch:\t#{Gitlab::CurrentSettings.current_application_settings.elasticsearch_indexing? ? "yes".color(:green) : "no"}"
puts "Geo:\t\t#{Gitlab::Geo.enabled? ? "yes".color(:green) : "no"}"
puts "Geo node:\t#{geo_node_type}" if Gitlab::Geo.enabled?
end
puts "Using LDAP:\t#{Gitlab.config.ldap.enabled ? "yes".color(:green) : "no"}"
2018-11-18 11:00:15 +05:30
puts "Using Omniauth:\t#{Gitlab::Auth.omniauth_enabled? ? "yes".color(:green) : "no"}"
puts "Omniauth Providers: #{omniauth_providers.join(', ')}" if Gitlab::Auth.omniauth_enabled?
2014-09-02 18:07:02 +05:30
# check Gitolite version
2019-07-07 11:18:12 +05:30
gitlab_shell_version_file = "#{Gitlab.config.gitlab_shell.path}/VERSION"
2014-09-02 18:07:02 +05:30
if File.readable?(gitlab_shell_version_file)
gitlab_shell_version = File.read(gitlab_shell_version_file)
end
puts ""
puts "GitLab Shell".color(:yellow)
puts "Version:\t#{gitlab_shell_version || "unknown".color(:red)}"
2016-08-24 12:49:21 +05:30
puts "Repository storage paths:"
2018-11-08 19:23:39 +05:30
Gitlab::GitalyClient::StorageSettings.allow_disk_access do
Gitlab.config.repositories.storages.each do |name, repository_storage|
puts "- #{name}: \t#{repository_storage.legacy_disk_path}"
end
2016-08-24 12:49:21 +05:30
end
2019-07-07 11:18:12 +05:30
puts "GitLab Shell path:\t\t#{Gitlab.config.gitlab_shell.path}"
2014-09-02 18:07:02 +05:30
puts "Git:\t\t#{Gitlab.config.git.bin_path}"
end
end
end