Movendo o servidor Gitlab e Gitolite para outra máquina

Movendo o servidor Gitlab e Gitolite para outra máquina

Agora, tenho o gitlab e o gitolite em execução no meu servidor Ubuntu. No entanto, este servidor é muito lento e minha empresa deseja migrar o servidor para outra máquina. Existe alguma maneira de mover o servidor gitlab e gitolite (todos os arquivos, usuários e configurações) para outra máquina?

Instalar e criar todos os usuários e repositórios novamente seria minha última escolha. Agradeço antecipadamente.

Responder1

Estou constantemente fazendo isso por meio de trabalho crontab de hora em hora para uma implantação local mais rápida. (que cria uma cópia exata do servidor original, serve como um espelho somente leitura, pessoalmente eu chamo de máquina fantoche).

Tudo que você precisa fazer é:

  1. fazer backup/restauração de dados mysql (ferramentas: mysqldump / mysql <backup.sql.txt)
  2. copie todo o www do gitlab para a nova máquina (scp, rsync)
  3. copie todo o diretório gitolite para a nova máquina (rsync)

Você sempre pode executar o seguinte comando para testar se a marionete está sendo executada com êxito.

bundle exec rake gitlab:app:status RAILS_ENV=production

Algum procedimento detalhado:

Eu fiz a configuração do mime usando o ubuntu 12.04 gitolite apt-get install, descanse pelo guia oficial e também fiz algumas anotações:

Chaves privadas/públicas SSH são necessárias para o processo rsync/scp automatizado (sem senha). Se você não entende, por favor, leiahttp://troy.jdmz.net/rsync/index.html

Tudo que você precisa configurar são alguns cron jobs depois que a máquina original estiver funcionando: isto éon-lineespelho também. (você não precisa reiniciar nenhum servidor/máquina web)

crontab na máquina de espelho:

58 * * * * rsync -zav root@my_remote_server.com:/home/git /home
11 * * * * rsync -zav root@my_remote_server.com:/root/mysql_hourly_dump.txt /root
15 * * * * mysql -u root -p"secure password" gitlabhq_production < mysql_hourly_dump.txt
20 * * * * rsync -zav --delete my_remote_server.com:/www/ /www

crontab no servidor:

7 * * * * mysqldump -p"secure password" gitlabhq_production -u root > /root/mysql_hourly_dump.txt

Responder2

Mover gitolite parece fácil:

  • você precisa ter certeza de que as chaves públicas às quais ela faz referência ainda estão na ~/.ssh/authorized_keysnova casa (portanto, você precisa principalmente copiar esse arquivo)
  • E você precisa mover os arquivos repositories, .gitolitee .gitolite.rc(verifique os caminhos nesse último)

Os “usuários” são declarados apenas no arquivo gitolite e no banco de dados gitlab.

O GitLab deve ser reinstalado (por causa de todas as gems que ele está usando, que podem estar usando um caminho fixo baseado na primeira instalação) e seu banco de dados atualizado/substituído pelo do servidor Ubuntu (seja através de uma cópia de arquivo, ou através de um exportação/importação sql).

informação relacionada