備份
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
命令,因此需要依賴備份文件,將新版本卸載後裝回舊版本再恢復備份.