標籤:sid 常用 console 依賴包 where open contact nis ruby
基本介紹
GitLab是一個自託管的Git項目倉庫,可以自己搭建個人代碼管理的倉庫,功能與github類似。
安裝下載 gitlab: https://about.gitlab.com/downloads/安裝依賴的包
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官網的指令碼安裝
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
或者使用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
檢查服務的日誌資訊
# 檢查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
檢查服務狀態
sudo gitlab-ctl status
一般服務狀態顯示資訊
顯示格式:
狀態 : 進程名稱:(進程ID)已耗用時間(秒);進程的Log Service進程和已耗用時間
run: gitlab-workhorse: (pid 11892) 281s; run: log: (pid 8630) 4742472srun: logrotate: (pid 11904) 280s; run: log: (pid 8631) 4742472srun: nginx: (pid 11911) 280s; run: log: (pid 8796) 4742455srun: postgresql: (pid 12866) 18s; run: log: (pid 8627) 4742472srun: redis: (pid 11989) 249s; run: log: (pid 8638) 4742472srun: sidekiq: (pid 12850) 20s; run: log: (pid 8634) 4742472srun: unicorn: (pid 12022) 247s; run: log: (pid 8629) 4742472s
常見的問題1. 頁面顯示500,Whoops, something went wrong on our end.
500Whoops, 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.
如何檢查和定位問題?
使用命令檢查所有服務的狀態
sudo gitlab-ctl status
檢查服務狀態如下
run: gitlab-workhorse: (pid 11892) 91s; run: log: (pid 8630) 4742282srun: logrotate: (pid 11904) 90s; run: log: (pid 8631) 4742282srun: nginx: (pid 11911) 90s; run: log: (pid 8796) 4742265sdown: postgresql: 1s, normally up, want up; run: log: (pid 8627) 4742282srun: redis: (pid 11989) 59s; run: log: (pid 8638) 4742282srun: sidekiq: (pid 12201) 2s; run: log: (pid 8634) 4742282srun: unicorn: (pid 12022) 57s; run: log: (pid 8629) 4742282s
定位問題
從服務狀態資訊中顯示資料庫postgresql的狀態是down,即服務停止。
檢查資料庫postgresql的作業記錄,檢查出現什麼錯誤?
$ 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 access2016-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 access2016-12-24_01:39:40.00700 DETAIL: Permissions should be u=rwx (0700).
日誌顯示,資料庫的存取權限應該是只有使用者本身有讀寫執行的許可權,使用者組和其他使用者不能有許可權。
修改資料庫資料的許可權後,檢查服務運行正常。
瞭解了問題的定位和解決方式,其他問題也很容易在日誌中發現和解決,問題可能是磁碟空間少,使用者權限錯誤或者其他原因。
2. 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 = User.where(id: 1).firstuser.password = ‘新密碼‘user.password_confirmation = ‘新密碼‘user.save!
然後使用重設過的密碼重新登入。
Done.
gitlab基本維護和使用