octubre 7, 2017

Migrar Gitlab a otro servidor

Migrar Gitlab a otro servidor

En un articulo anterior ya hablamos de que es y como instalar Gitlab, ahora toca hablar de como migrar lo a otro servidor.

Para poder migrar toda nuestra información de Gitlab (Issues, MR, Snippets, Usuarios, Proyectos, Grupos, etc) a otro servidor tendremos que cumplir con los siguientes requisitos, al menos para este tutorial.

  • Servidor de Gitlab actualizado.

  • El servidor nuevo deberá tener la misma versión de Gitlab del anterior servidor.

  • Acceso directo por ssh de un servidor a otro.

Manos a la obra.

Primero debemos generar un respaldo de nuestro servidor actual con el siguiente comando:

sudo gitlab-rake gitlab:backup:create

Esto generara un archivo con este formato xxxxxxxxx_gitlab_backup.tar

Toca pasar el backup,comúnmente se encuentra en /var/opt/giltab/backups/ con scp.

sudo scp /var/opt/giltab/backups/xxxxxxxxx_gitlab_backup.tar [email protected]:/home/user

Algo muy importante este que también debemos pasar los archivo gitlab.rb y gitlab_secrets.json (minimamente) de forma manual

Estos archivos se encuentran en /etc/gitlab, también usaremos scp para enviarlos al nuevo servidor.

sudo scp /etc/gitlab/gitlab.rb [email protected]:/home/user

sudo scp /etc/gitlab/gitlab_secrests.json [email protected]:/home/user

Al llegar este punto ya tendremos toda la información en el nuevo servidor, solo queda montarla en los directorios correctos.

Primero acomodaremos los archivos gitlab.rb y gitlab_secrets.json.

sudo cp gitlab* /etc/gitlab/

El siguiente es el respaldo con el comando:

sudo cp xxxxxxxx_gitlab_backup.tar /var/opt/gitlab/backups/

Cambiamos el usuario al que pertenece el respaldo con el comando:

sudo chown -R git /var/opt/gitlab/backups/

Para montar el respaldo corremos este comando:

sudo gitlab-rake gitlab:backup:restore BACKUP=1476213812

Y escribimos yes cada vez que nos lo pida.

Por ultimo re-configuramos Gitlab y lo reiniciamos con los siguientes comandos:

sudo gitlab-ctl reconfigure

sudo gitlab-ctl stop

sudo gitlab-ctl start

En este punto ya deberíamos poder entrar a revisar que toda nuestra información se encuentra allí.

Fuentes