神農(nóng)民博客
</a>
GitLab作為開源、功能強大的代碼托管軟件息尺,其價值不可估量携兵,是軟件工作者必不可少的。本文主要說明如何備份和恢復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ù)(例如:管理員、普通賬戶以及倉庫等等)父阻。
從備份恢復
本節(jié)說明如何在另一臺主機上恢復數(shù)據(jù)愈涩。
將備份文件拷貝到/var/opt/gitlab/backups
下(備份和恢復的GitLab版本盡量保持一致,后文描述了版本不匹配的處理方法)加矛。
停止相關數(shù)據(jù)連接服務
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
從備份恢復
從指定時間戳的備份恢復(backups目錄下有多個備份文件時):
sudo gitlab-rake gitlab:backup:restore BACKUP=1500809139
從默認備份恢復(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/#ubuntu
https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_8.16.6-ce.0_amd64.deb
重裝后訪問頁面出現(xiàn)500或502
在恢復數(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)址'