gitlab基本維護和使用


 

 

基本介紹

  GitLab是一個自托管的Git項目倉庫,可以自己搭建個人代碼管理的倉庫,功能與github類似。

安裝

下載 gitlab下載地址: https://about.gitlab.com/downloads/

安裝依賴的包

1
2
3
4
5
6
7
8
9
10
11
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官網的腳本安裝

1
curl -sS https: //packages .gitlab.com /install/repositories/gitlab/gitlab-ce/script .rpm.sh |  sudo  bash

或者使用gitlab的yum安裝gitlab

1
sudo  yum  install  gitlab-ce

 安裝完畢后,使用Web登錄

技術分享

 

進入gitlab的管理頁面,進行常用的分組,工程,用戶等功能點的維護。

技術分享

 

安裝完gitlab后的運維操作

初次配置服務

1
sudo  gitlab-ctl reconfigure

啟動服務

1
sudo  gitlab-ctl start

停止服務

1
sudo  gitlab-ctl stop

重啟服務

1
sudo  gitlab-ctl restart

檢查服務的日志信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 檢查redis的日志
sudo  gitlab-ctl  tail  redis
 
# 檢查postgresql的日志
sudo  gitlab-ctl  tail  postgresql
 
# 檢查gitlab-workhorse的日志
sudo  gitlab-ctl  tail  gitlab-workhorse
 
# 檢查logrotate的日志
sudo  gitlab-ctl  tail  logrotate
 
# 檢查nginx的日志
sudo  gitlab-ctl  tail  nginx
 
# 檢查sidekiq的日志
sudo  gitlab-ctl  tail  sidekiq
 
# 檢查unicorn的日志
sudo  gitlab-ctl  tail  unicorn

  

檢查服務狀態

1
sudo  gitlab-ctl status

一般服務狀態顯示信息

顯示格式:

狀態 : 進程名稱:(進程ID)運行時間(秒);進程的日志服務進程和運行時間

1
2
3
4
5
6
7
run: gitlab-workhorse: (pid 11892) 281s; run: log: (pid 8630) 4742472s
run: logrotate: (pid 11904) 280s; run: log: (pid 8631) 4742472s
run: nginx: (pid 11911) 280s; run: log: (pid 8796) 4742455s
run: postgresql: (pid 12866) 18s; run: log: (pid 8627) 4742472s
run: redis: (pid 11989) 249s; run: log: (pid 8638) 4742472s
run: sidekiq: (pid 12850) 20s; run: log: (pid 8634) 4742472s
run: unicorn: (pid 12022) 247s; run: log: (pid 8629) 4742472s
狀態 說明
run 運行狀態
down 服務停止

 

常見的問題

1. 頁面顯示500,Whoops, something went wrong on our end.

1
2
3
4
5
6
7
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.

如何檢查和定位問題?

使用命令檢查所有服務的狀態

1
sudo  gitlab-ctl status

檢查服務狀態如下

1
2
3
4
5
6
7
run: gitlab-workhorse: (pid 11892) 91s; run: log: (pid 8630) 4742282s
run: logrotate: (pid 11904) 90s; run: log: (pid 8631) 4742282s
run: nginx: (pid 11911) 90s; run: log: (pid 8796) 4742265s
down: postgresql: 1s, normally up, want up; run: log: (pid 8627) 4742282s
run: redis: (pid 11989) 59s; run: log: (pid 8638) 4742282s
run: sidekiq: (pid 12201) 2s; run: log: (pid 8634) 4742282s
run: unicorn: (pid 12022) 57s; run: log: (pid 8629) 4742282s

定位問題

從服務狀態信息中顯示數據庫postgresql的狀態是down,即服務停止。

檢查數據庫postgresql的運行日志,檢查出現什么錯誤?

1
2
3
4
5
6
7
8
sudo  gitlab-ctl  tail  postgresql
==>  /var/log/gitlab/postgresql/state  <==
 
==>  /var/log/gitlab/postgresql/current  <==
2016-12-24_01:39:39.00188 FATAL:  data directory  "/var/opt/gitlab/postgresql/data"  has group or world access
2016-12-24_01:39:39.00190 DETAIL:  Permissions should be u=rwx (0700).
2016-12-24_01:39:40.00698 FATAL:  data directory  "/var/opt/gitlab/postgresql/data"  has group or world access
2016-12-24_01:39:40.00700 DETAIL:  Permissions should be u=rwx (0700).

日志顯示,數據庫的訪問權限應該是只有用戶本身有讀寫執行的權限,用戶組和其他用戶不能有權限。

修改數據庫數據的權限后,檢查服務運行正常。

了解了問題的定位和解決方式,其他問題也很容易在日志中發現和解決,問題可能是磁盤空間少,用戶權限錯誤或者其他原因。

 

2. gitlab管理員密碼忘記,怎么重置密碼

Gitlab 修改root用戶密碼

使用rails工具打開終端

1
sudo  gitlab-rails console production

查詢用戶的email,用戶名,密碼等信息,id:1 表示root賬號

1
user = User.where(id:  1 ).first

重新設置密碼

1
2
user.password =  ‘新密碼‘
user.password_confirmation =  ‘新密碼‘  

保存密碼

1
user.save!

完整的操作ruby腳本

1
2
3
4
user = User.where( id : 1).first
user.password =  ‘新密碼‘
user.password_confirmation =  ‘新密碼‘
user.save!

然后使用重置過的密碼重新登錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM