1. 程式人生 > >Gitlab維護記錄

Gitlab維護記錄

enabled 文檔 restore 之間 data- ges .html ring 換ip

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

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

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

突然之間Down掉,為了保險起見,建議所有重要的業務一定要有備份。當然,僅僅有備份還是不夠的,

為什麽呢?因為你還要做恢復演練測試,假如你的備份數據恢復不了,你備份有個毛用,和沒備份是沒有

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

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

Gitlab搭建

gitlab的搭建目前非常簡單了,查看官網就可以搭建,主要是一個rpm包,你裝上了就全部就好了,

現在不需要像以前一樣一個個的編譯了,如果你有興趣也可以這麽做,當然我是不建議的。

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

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/

Gitlab維護記錄