Estes passos assumem que o Colab e o Gitlab já estão instalados e funcionando com seus bancos default (sem dados).
Todos os passos a seguir devem ser executados no beta.softwarepublico.gov.br:
- Backup Colab DB:
/usr/pgsql-9.3/bin/pg_dump colab > colab.dump
- Backup Gitlab:
cd /usr/lib/gitlab
sudo gitlab-rake gitlab:backup:create
O comando acima vai gerar um arquivo .tar
no diretório /var/opt/gitlab/backups/
.
Nota: Use o usuário postgres
- Remova e recrie o banco
colab
:
dropdb colab
createdb colab
- Restaure o backup:
psql colab < colab.dump
- De as devidas permissões para o usuário
colab
:
echo 'GRANT ALL ON SCHEMA public TO "colab";' | psql colab
- Execute as migrações do colab:
colab-admin migrate
- Reinicie o processo do Colab:
sudo systemctl restart colab
- Descompacte o arquivo .tar:
tar xf <number>_gitlab_backup.tar
- Envie o
db/database.sql
para a máquina de database e os diretóriosrepositories
euploads
para a máquinaintegration
.
Nota: Use o usuário postgres
- Remova e recrie o banco gitlab:
dropdb gitlab
createdb gitlab
- Restaure o backup:
psql gitlab < backup/db/database.sql
- De as devidas permissões para o usuário
gitlab
:
echo 'GRANT ALL ON SCHEMA public TO "gitlab";' | psql gitlab
- Execute as migrações do Gitlab:
cd /usr/lib/gitlab
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production SCHEMA=/dev/null
- Copie os repositórios:
sudo cp -a /vagrant/backup/repositories/* /var/lib/gitlab/repositories
sudo chown -fR git:git /var/lib/gitlab/repositories
- Desfaça o bundle dos repositórios:
cd /var/lib/gitlab/repositories
for ORG in `ls -1`
do
for FILE in `ls -1 $ORG/*.bundle`
do
repo="${FILE%.*}"
sudo -u git git clone --mirror $FILE $repo.git
done
done
- Crie os
satellites
:
cd /usr/lib/gitlab
sudo -u git -H bundle exec rake gitlab:satellites:create RAILS_ENV=production
- Reinicie o processo do gitlab:
sudo systemctl restart gitlab
em
sudo cp -a /vagrant/backup/repositories/* /var/lib/gitlab/repositories
sudo chown -fR git:git /var/lib/gitlab/repositories
substitua /vagrant/backup pelo caminho onde copiou o diretório repositories em um passo anterior.
e quanto ao backup do diretório de uploads?
sudo cp -a ~/uploads/* /var/lib/gitlab-uploads
sudo chown -fR root:root /var/lib/gitlab-uploads (root??)