Gitlab學習筆記(二):備份和升級

備份

Gitlab的備份工具使用的是使用的是Ruby編寫的rake,它被封裝成了gitlab-rake命令,在最新版本12.8.5中又增加了gitlab-backup命令,主要有兩個功能-創建(create)和恢復(restore),無論是備份或恢復,都會存放文件,其路徑前綴在/etc/gitlab/gitlab.rb中查找backup_path,我的信息如下,即默認備份路徑是/var/opt/gitlab/backups.

# gitlab_rails['manage_backup_path'] = true
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

創建

rake gitlab:backup:create

or

gitlab-rake gitlab:backup:create

or

gitlab-backup create

恢復

恢復比創建稍微麻煩些,因爲有多個備份文件的情況下需要指定備份文件名,會自動在backup_path路徑下查找文件名對應的.tar文件進行恢復.

rake gitlab:backup:restore [BACKUP=備份文件名]

or

gitlab-rake gitlab:backup:restore [BACKUP=備份文件名]

or

gitlab-backup restore [BACKUP=備份文件名]

升級與回滾

升級

首先備份當前版本,以防升級過程中出現問題可以隨時回滾

其次,Gitlab不是所有版本都可以平滑升級,魯莽地一次性升級將會帶來不必要的麻煩.

所以需要關注官方給出的特殊版本,本次預覽如下:

如果當前版本比較老,沒有展示,可以參考升級建議,找到合適的跳板版本.

比如從12.0.2升級到12.8.X,必須先升級至12.2.0然後再到12.8.X

# 創建備份
gitlab-rake gitlab:backup:create
gitlab-ctl stop 
yum remove gitlab-ce
yum install -y gitlab-ce-12.2.0-ce.0.el7.x86_64

安裝完成後,過段時間再檢查是否升級成功,因爲Gitlab啓動時間比較長.

確認升級成功後再次升級至12.8.X

# 創建備份
gitlab-rake gitlab:backup:create
gitlab-ctl stop
yum remove gitlab-ce
yum install -y gitlab-ce-12.8.5-ce.0.el7.x86_64

也可以一次性直接下載好對應的rpm包,然後使用rpm -Uvh一步步升級.

# 創建備份
gitlab-rake gitlab:backup:create
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.2.0-ce.0.el7.x86_64.rpm
rpm -Uvh gitlab-ce-12.2.0-ce.0.el7.x86_64.rpm

##################檢查是否升級成功##################

# 創建備份
gitlab-rake gitlab:backup:create
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm
rpm -Uvh gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm

回滾

一般按照官方指導升級不會出問題,但萬一升級出現了問題就要考慮回滾,gitlab沒有提供rollback命令,因此需要依賴備份文件,將新版本卸載後裝回舊版本再恢復備份.

參考

  1. Gitlab使用國內鏡像安裝、備份及遷移
  2. .repo文件
  3. Gitlab升級手冊
  4. 官方文檔-特殊升級版本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章