Když už jsme si minule obnovili soubor se zálohou Gitlabu, je na čase obnovit samotný gitlab.

Postup vyžaduje:

  • Čistou instalaci Gitlab-ce v konkrétní verzi pořízení zálohy
  • Soubor se zálohou
  • Volitelně konfiguraci gitlabu

Jak zjistit verzi zálohy

Pokud nevíme, ve které verzi Gitlabu jsme pořídili, můžeme si z archivu zálohy vytáhout soubor backup_information.yml, takže například:

cd /var/bacula-restores
cd var/opt/gitlab/backups
tar xf 1493467484_2017_04_29_gitlab_backup.tar backup_information.yml

A prohlédneme si soubor:

$ cat backup_information.yml
:db_version: '20170423064036'
:backup_created_at: 2017-04-29 14:04:44.762632215 +02:00
:gitlab_version: 9.1.1
:tar_version: tar (GNU tar) 1.29
:skipped:

Musíme tedy obnovovat do verze 9.1.1. Pokud nemáme schovaný balíček, můžeme jej stáhnout z repositáře.

Obnova

Postup spočívá v nahrání zálohy do adresáře /var/opt/gitlab/backups/, vypnutí služeb a spuštění skriptu.

Do adresáře /var/opt/gitlab/backups/ umístíme soubor se zálohou:

mv 1493467484_2017_04_29_gitlab_backup.tar /var/opt/gitlab/backups/

Pokud jsme zálohovali též adresář /etc, obnovíme konfiguraci gitlabu v /etc/gitlab. A spustíme

gitlab-ctl reconfigure

Vypneme služby:

sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
# Verify
sudo gitlab-ctl status

A spustíme obnovu:

sudo gitlab-rake gitlab:backup:restore BACKUP=1493467484_2017_04_29

Potom zbývá jen služby opět sputit a zkontrolovat stav gitlabu:

sudo gitlab-ctl start
sudo gitlab-rake gitlab:check SANITIZE=true

Pokud vše proběhlo ok, můžeme se nalogovat do našeho čerstvě obnoveného gitlabu.