基本介紹
GitLab是一個自托管的Git項目倉庫,可以自己搭建個人代碼管理的倉庫,功能與github類似。
安裝
安裝依賴的包
sudo yum install curl-devel
sudo yum install expat-devel
sudo yum install gettext-devel
sudo yum install openssl-devel
sudo yum install zlib-devel
sudo yum install perl-devel
sudo yum install curl
sudo yum install openssh-server
sudo yum install openssh-clients
sudo yum install postfix
sudo yum install cronie
Ubuntu系統使用apt-get方式安裝依賴包。
使用gitlab官網的腳本安裝
或者使用gitlab的yum安裝gitlab
sudo yum install gitlab-ce
安裝完畢後,使用Web登入
技術分享
進入gitlab的管理頁面,進行常用的分組,工程,使用者等功能點的維護。
安裝完gitlab後的運維操作
初次配置服務
sudo gitlab-ctl reconfigure
啟動服務
sudo gitlab-ctl start
停止服務
sudo gitlab-ctl stop
重新開機服務
sudo gitlab-ctl restart
檢查服務的日志資訊
sudo gitlab-ctl tail redis
sudo gitlab-ctl tail postgresql
sudo gitlab-ctl tail gitlab-workhorse
sudo gitlab-ctl tail logrotate
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail sidekiq
sudo gitlab-ctl tail unicorn
檢查服務狀态
sudo gitlab-ctl status
一般服務狀态顯示資訊
顯示格式:
狀态 : 程序名稱:(程序ID)運作時間(秒);程序的日志服務程序和運作時間
run: gitlab-workhorse: (pid 4752) 10759s; run: log: (pid 1077) 13185s
run: logrotate: (pid 12616) 3557s; run: log: (pid 1079) 13185s
run: nginx: (pid 4764) 10758s; run: log: (pid 1076) 13185s
run: postgresql: (pid 4770) 10757s; run: log: (pid 1073) 13185s
run: redis: (pid 4778) 10757s; run: log: (pid 1072) 13185s
run: sidekiq: (pid 4782) 10756s; run: log: (pid 1075) 13185s
run: unicorn: (pid 4786) 10756s; run: log: (pid 1074) 13185s
狀态 說明
run 運作狀态
down 服務停止
常見的問題
頁面顯示500,Whoops, something went wrong on our end.
500
Whoops, something went wrong on our end.
Try refreshing the page, or going back and attempting the action again.
Please contact your GitLab administrator if this problem persists.
如何檢查和定位問題?
使用指令檢查所有服務的狀态
檢查服務狀态如下
run: gitlab-workhorse: (pid 4752) 10862s; run: log: (pid 1077) 13288s
run: logrotate: (pid 16553) 59s; run: log: (pid 1079) 13288s
run: nginx: (pid 4764) 10861s; run: log: (pid 1076) 13288s
run: postgresql: (pid 4770) 10860s; run: log: (pid 1073) 13288s
run: redis: (pid 4778) 10860s; run: log: (pid 1072) 13288s
run: sidekiq: (pid 4782) 10859s; run: log: (pid 1075) 13288s
run: unicorn: (pid 4786) 10859s; run: log: (pid 1074) 13288s
定位問題
從服務狀态資訊中顯示資料庫postgresql的狀态是down,即服務停止。
檢查資料庫postgresql的運作日志,檢查出現什麼錯誤?
$ sudo gitlab-ctl tail postgresql
==> /var/log/gitlab/postgresql/state <==
==> /var/log/gitlab/postgresql/current <==
2017-12-21_02:49:51.42192 FATAL: terminating connection due to administrator command
2017-12-21_02:49:51.42194 FATAL: terminating connection due to administrator command
2017-12-21_02:49:51.42194 LOG: autovacuum launcher shutting down
2017-12-21_02:49:51.42287 FATAL: terminating connection due to administrator command
2017-12-21_02:49:51.42289 FATAL: terminating connection due to administrator command
2017-12-21_02:49:51.42463 LOG: shutting down
2017-12-21_02:49:51.59345 LOG: database system is shut down
2017-12-21_02:50:43.38811 LOG: database system was shut down at 2017-12-21 02:49:51 GMT
2017-12-21_02:50:43.41991 LOG: database system is ready to accept connections
2017-12-21_02:50:43.42055 LOG: autovacuum launcher started
日志顯示,資料庫的通路權限應該是隻有使用者本身有讀寫執行的權限,使用者組和其他使用者不能有權限。
修改資料庫資料的權限後,檢查服務運作正常。
了解了問題的定位和解決方式,其他問題也很容易在日志中發現和解決,問題可能是磁盤空間少,使用者權限錯誤或者其他原因。
gitlab管理者密碼忘記,怎麼重置密碼
Gitlab 修改root使用者密碼
使用rails工具打開終端
sudo gitlab-rails console production
查詢使用者的email,使用者名,密碼等資訊,id:1 表示root賬号
user = User.where(id: 1).first
重新設定密碼
user.password = ‘新密碼‘
user.password_confirmation = ‘新密碼‘
儲存密碼
user.save!
完整的操作ruby腳本
user.password_confirmation = ‘新密碼‘
然後使用重置過的密碼重新登入。
Linux有關的可以直接yum 安裝或者apt-get 安裝
Centos: yum install git
Ubuntu: apt-get install git
本文轉自 holy2009 51CTO部落格,原文連結:http://blog.51cto.com/holy2010/2052894