Esta guía detalla los pasos para migrar una instancia de GitLab a un nuevo servidor.
1. Actualiza la Instalación Actual
Asegúrate de que la versión de GitLab en el servidor antiguo esté actualizada para evitar problemas de compatibilidad durante la migración.
2. Configura el Nuevo Servidor
Instala GitLab en el nuevo servidor. Asegúrate de instalar la misma edición (comunitaria o empresarial) que la usada en el servidor antiguo. Por ejemplo, para la edición comunitaria:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ce
3. Crea una Copia de Seguridad
En el servidor antiguo, crea una copia de seguridad de GitLab:
sudo gitlab-backup create
La copia de seguridad se guardará en /var/opt/gitlab/backups/
.
4. Transfiere los Archivos
Transfiere la copia de seguridad y otros archivos necesarios al nuevo servidor. Puedes usar scp
o rsync
:
rsync -vazP old.server:/etc/gitlab/ /etc/gitlab/
5. Restaura la Copia de Seguridad
En el nuevo servidor, detén los servicios de GitLab y restaura la copia de seguridad:
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
sudo gitlab-backup restore BACKUP=nombre_del_backup_sin_extension
6. Verifica y Reconfigura
Reinicia GitLab y verifica que todo funcione correctamente:
sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true
sudo gitlab-rake gitlab:doctor:secrets
sudo gitlab-rake gitlab:artifacts:check
sudo gitlab-rake gitlab:lfs:check
sudo gitlab-rake gitlab:uploads:check
Si es necesario, actualiza el nombre de dominio y reconfigura:
sudo gitlab-ctl reconfigure
Consideraciones Finales
Si encuentras errores relacionados con ramas no principales, usa el siguiente comando en gitlab-rails
:
gitlab-rails c
Project.all.each {|p| p.change_head(p.default_branch) }