546 total views , 1 views today
測試環境為 CentOS 8 x86_64 (虛擬機)
Gitlab 的備份與還原參考官方網站說明:
- Backup – https://docs.gitlab.com/ee/administration/backup_restore/backup_gitlab.html
- Restore – https://docs.gitlab.com/ee/administration/backup_restore/restore_gitlab.html
Gitlab 有提供指令就可以把所有資料(包含資料庫) 做備份與還原.
- Backup
以下兩個檔案因為包含一些密碼等資料所以需要手動備份起來./etc/gitlab/gitlab-secrets.json
/etc/gitlab/gitlab.rb
以下指令可以把所有資料(包含資料庫)備份起來.
[root@localhost ~]# gitlab-backup create
備份檔案置於 /var/opt/gitlab/backups/
[root@localhost ~]# ll /
var
/opt/gitlab/backups/
total 253632
-rw------- 1 git git 450560 Nov 5 23:00 1699254029_2023_11_06_16.5.1_gitlab_backup.tar
這樣就備份完成.
- Restore
如果是全新的系統,需先安裝好 Gitlab – https://benjr.tw/105652 , 須注意安裝的版本需與 Backup 資料的 Gitlab 一致.需先將前面備份好了的 3個檔案複製到以下路徑.
/etc/gitlab/gitlab-secrets.json
/etc/gitlab/gitlab.rb
/
var
/opt/gitlab/backups/1699254029_2023_11_06_16.5.1_gitlab_backup.tar
停止服務.
[root@localhost ~]# gitlab-ctl stop puma
[root@localhost ~]# gitlab-ctl stop sidekiq
檢視
[root@localhost ~]# gitlab-ctl status
還原資料,指定的名稱不包含 _gitlab_backup.tar
[root@localhost ~]# gitlab-backup restore BACKUP=1699254029_2023_11_06_16.5.1
重啟 Gitlab 並檢查.
[root@localhost ~]# gitlab-ctl restart
[root@localhost ~]# gitlab-rake gitlab:check SANITIZE=true
還原完成.
遇過的錯誤
-
Backup 與 Restore 環境的 Gitlab 版本不一致.
2024-01-17 03:25:18 UTC -- Unpacking backup ... done
GitLab version mismatch:
Your current GitLab version (16.7.3) differs from the GitLab version in the backup!
Please
switch
to the following version
and
try
again:
version: 16.5.1
Hint: git checkout v16.5.1
2024-01-17 03:25:18 UTC -- Deleting tar staging files ...
2024-01-17 03:25:18 UTC -- Cleaning up /
var
/opt/gitlab/backups/backup_information.yml
2024-01-17 03:25:18 UTC -- Cleaning up /
var
/opt/gitlab/backups/db
2024-01-17 03:25:18 UTC -- Cleaning up /
var
/opt/gitlab/backups/repositories
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/uploads.tar.gz
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/builds.tar.gz
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/artifacts.tar.gz
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/pages.tar.gz
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/lfs.tar.gz
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/terraform_state.tar.gz
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/packages.tar.gz
2024-01-17 03:25:19 UTC -- Cleaning up /
var
/opt/gitlab/backups/ci_secure_files.tar.gz
2024-01-17 03:25:19 UTC -- Deleting tar staging files ... done
2024-01-17 03:25:19 UTC -- Deleting backups/tmp ...
2024-01-17 03:25:19 UTC -- Deleting backups/tmp ... done
2024-01-17 03:25:19 UTC -- Deleting backup
and
restore PID file ... done
root@ben-virtual-machine:/etc/gitlab#
在新環境安裝 Gitlab 時需指定 EE 或是 CE 以及是哪一個版本.
沒有解決問題,試試搜尋本站其他內容