
神農(nóng)民博客
</a>
GitLab作為開源、功能強大的代碼托管軟件,其價值不可估量,是軟件工作者必不可少的。本文主要說明如何備份和恢復(fù)GitLab數(shù)據(jù)。數(shù)據(jù)無價,多做備份,謹慎操作!
創(chuàng)建備份
$ sudo gitlab-rake gitlab:backup:create
執(zhí)行完備份命令后會在/var/opt/gitlab/backups目錄下生成備份后的文件,如1500809139_2017_07_23_gitlab_backup.tar。1500809139是一個時間戳,從1970年1月1日0時到當前時間的秒數(shù)。這個壓縮包包含Gitlab所有數(shù)據(jù)(例如:管理員、普通賬戶以及倉庫等等)。
從備份恢復(fù)
本節(jié)說明如何在另一臺主機上恢復(fù)數(shù)據(jù)。
將備份文件拷貝到/var/opt/gitlab/backups下(備份和恢復(fù)的GitLab版本盡量保持一致,后文描述了版本不匹配的處理方法)。
停止相關(guān)數(shù)據(jù)連接服務(wù)
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
從備份恢復(fù)
從指定時間戳的備份恢復(fù)(backups目錄下有多個備份文件時):
sudo gitlab-rake gitlab:backup:restore BACKUP=1500809139
從默認備份恢復(fù)(backups目錄下只有一個備份文件時):
sudo gitlab-rake gitlab:backup:restore
啟動Gitlab
sudo gitlab-ctl start
sudo gitlab-ctl reconfigure
修改默認備份目錄【可選】
你也可以通過修改/etc/gitlab/gitlab.rb來修改默認存放備份文件的目錄:
gitlab_rails['backup_path'] = '/home/backup'
/home/backup修改為你想存放備份的目錄即可, 修改完成之后使用gitlab-ctl reconfigure命令重載配置文件即可。
問題與解決
安裝指定版本gitlab-ce
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=8.16.6-ce.0
參考鏈接:
https://about.gitlab.com/installation/#ubuntuhttps://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_8.16.6-ce.0_amd64.deb
重裝后訪問頁面出現(xiàn)500或502
在恢復(fù)數(shù)據(jù)時,提示版本不匹配,卸載、指定版本重裝后出現(xiàn)500或502錯誤,網(wǎng)上搜索了很多方法,都不解決問題,最終發(fā)現(xiàn)是卸載不徹底引起,完整的卸載方法為:
sudo gitlab-ctl stop
sudo apt-get --purge remove gitlab-ce
sudo rm -r /var/opt/gitlab
sudo rm -r /opt/gitlab
sudo rm -r /etc/gitlab
修改主機域名
sudo vi /etc/gitlab/gitlab.rb
external_url '你的網(wǎng)址'