Gitlab學習筆記 二 備份和公升級

2021-10-03 18:53:24 字數 2297 閱讀 3280

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

# 建立備份

gitlab-rake gitlab:backup:create

wget

rpm -uvh gitlab-ce-12.2.0-ce.0.el7.x86_64.rpm

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

# 建立備份

gitlab-rake gitlab:backup:create

wget

rpm -uvh gitlab-ce-12.8.5-ce.0.el7.x86_64.rpm

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

.repo檔案

gitlab公升級手冊

官方文件-特殊公升級版本

安裝 gitlab 和 gitlab的備份與恢復

官方文件 配置yum源 vim etc yum.repos.d gitlab ce.repo gitlab ce name gitlab ce baseurl enabled 1 gpgcheck 0 gpgkey 安裝花費的時間有點長 yum install gitlab ce y配置與gitla...

Gitlib之二 Gitlab資料備份與恢復

1 在備份gitlab資料前,停止兩個服務,不能全部停止gitlab服務,否則無法實現備份 root gitlab gitlab ctl stop unicorn ok down unicorn 1s,normally up root gitlab gitlab ctl stop sidekiq o...

gitlab學習(二) 郵箱配置

修改gitlab基本配置檔案 sudo vim etc gitlab gitlab.rb gitlab.yml configuration gitlab rails gitlab email from kellan songs 163.com 發件人郵箱 gitlab rails gitlab em...