Icono del sitio Binario 0

Guía para Migrar GitLab a un Nuevo Servidor

Artículos Guías Manuales Sistemas Linux Windows Binario 0

Artículos Guías Manuales Sistemas Linux Windows Binario 0

FacebookEmailWhatsAppLinkedInRedditXShare

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) }
Salir de la versión móvil