Gitlab維護記錄

   目前互聯網公司主流的代碼倉庫統是gitlab,相似github的實現,維護gitlab已經有兩年多的時間,html

下面說一下維護過程當中的注意點,以及如何維護更好。git

   分別是搭建,首先得搭建起來,否則怎麼玩,其次是備份、備份、備份,誰也不能保證服務器會不會github

忽然之間Down掉,爲了保險起見,建議全部重要的業務必定要有備份。固然,僅僅有備份仍是不夠的,segmentfault

爲何呢?由於你還要作恢復演練測試,假如你的備份數據恢復不了,你備份有個毛用,和沒備份是沒有centos

區別的,因此還要驗證你備份的數據可否恢復系統。再說一下,備份數據不要放在提供服務的主機上,bash

否則主機掛了你備份數據是取不出來的,到時候就尷尬了,建議放在專門的備份服務器。服務器

Gitlab搭建

      gitlab的搭建目前很是簡單了,查看官網就能夠搭建,主要是一個rpm包,你裝上了就所有就行了,ssh

如今不須要像之前同樣一個個的編譯了,若是你有興趣也能夠這麼作,固然我是不建議的。curl

     下載地址: https://packages.gitlab.com/gitlab/gitlab-ceide

    1. 安裝依賴軟件

yum install curl openssh-server openssh-clients postfix cronie
service postfix start
chkconfig postfix on

  2.安裝方式能夠經過下載rpm包或者添加yum源直接安裝的方法.

使用清華大學的源:

# 新建 /etc/yum.repos.d/gitlab-ce.repo,內容爲
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

  

# 安裝命令
yum install gitlab-ce

3. 配置並啓動Gitlab

gitlab-ctl reconfigure

4.登陸gitlab而且重置密碼.

 安裝完成後能夠經過 http://主機ip 的方式來訪問,會輸入兩次密碼,重置的是管理員root的密碼.重置完成則能夠經過root用戶登陸進行管理.

 

GitLab特殊配置

    gitlab安裝完成後會有一個默認的存儲代碼倉庫的路徑,建議本身自定義到大磁盤上,以避免以後磁盤空間引發沒必要要的麻煩。

  1. 配置gitlab的項目代碼存儲目錄爲 /data/GitData/git-data/

       建立目錄 mkdir -pv /data/GitData/git-data/

       修改權限 chown git -R  /data/GitData/git-data/

   2. 修改配置文件

# /etc/gitlab/gitlab.rb 添加配置:
git_data_dirs({ "default" => { "path" => "/data/GitData/git-data" } })

3. 配置訪問的域名.

   建議使用域名進行訪問,由於使用ip的話不太友好,並且以後換ip後會很是痛苦,至關於全部的使用人員都須要改,這是不能容忍的.

# /etc/gitlab/gitlab.rb 修改配置:
external_url 'http://git.xxxx.com'

4.配置生效

gitlab-ctl reconfigure

  

Gitlab-ctl 使用

查看狀態: 
sudo gitlab-ctl status;

# Start all GitLab components (啓動)
sudo gitlab-ctl start

# Stop all GitLab components (中止)
sudo gitlab-ctl stop

# Restart all GitLab components(重啓)
sudo gitlab-ctl restart

  

Gitlab 備份

使用Gitlab一鍵安裝包安裝Gitlab很是簡單, 一樣的備份恢復與遷移也很是簡單. 使用一條命令便可建立完整的Gitlab備份:

gitlab-rake gitlab:backup:create

使用以上命令會在/var/opt/gitlab/backups目錄下建立一個名稱相似爲1393513186_gitlab_backup.tar的壓縮包, 這個

壓縮包就是Gitlab整個的完整部分, 其中開頭的1393513186是備份建立的日期.

Gitlab 修改備份文件默認目錄

你也能夠經過修改/etc/gitlab/gitlab.rb來修改默認存放備份文件的目錄:

gitlab_rails['backup_path'] = '/mnt/backups'

/mnt/backups修改成你想存放備份的目錄便可, 修改完成以後使用gitlab-ctl reconfigure命令重載配置文件便可.

Gitlab 自動備份

也能夠經過crontab使用備份命令實現自動備份

加入如下, 實現天天凌晨2點進行一次自動備份:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

 

Gitlab 恢復

一樣, Gitlab的從備份恢復也很是簡單:

# 中止相關數據鏈接服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
 
# 從1393513186編號備份中恢復
gitlab-rake gitlab:backup:restore BACKUP=1393513186
 
# 啓動Gitlab
sudo gitlab-ctl start

  

Gitlab遷移

遷移如同備份與恢復的步驟同樣, 只須要將老服務器/var/opt/gitlab/backups目錄下的備份文件拷貝到新服務器上的/var/opt/gitlab/backups

便可(若是你沒修改過默認備份目錄的話). 可是須要注意的是新服務器上的Gitlab的版本必須與建立備份時的Gitlab版本號相同. 好比新服務器安裝

的是最新的7.60版本的Gitlab, 那麼遷移以前, 最好將老服務器的Gitlab 升級爲7.60在進行備份.

 

參考文檔:

安裝文檔請參考:   https://about.gitlab.com/downloads/#centos6

使用文檔請參考:   http://doc.gitlab.com/omnibus/

Git災備方法參考: http://segmentfault.com/a/1190000002439923

                             https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#backups

GITLAB下載:     https://about.gitlab.com/downloads/archives/

官方文檔參考:   http://doc.gitlab.com/omnibus/

https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory

https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

相關文章
相關標籤/搜索