Movendo o Gitlab e o servidor Gitolite para outra máquina

4

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

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

    
por Sam Mie 16.10.2012 / 09:43

2 respostas

6

Estou constantemente fazendo isso por meio de trabalho crontab por 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 o que você precisa fazer é:

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

Você sempre pode executar o seguinte comando para testar se o fantoche está sendo executado com êxito.

bundle exec rake gitlab:app:status RAILS_ENV=production

Alguns procedimentos detalhados:

Eu tenho mime setup feito usando o Ubuntu 12.04 gitolite apt-get install, descanse por guia oficial e também fiz algumas anotações:

Chaves privadas / públicas do SSH são necessárias para o processo rsync / scp automatizado (sem senha), se você não entender o plz, leia link

Tudo o que você precisa para configurar alguns trabalhos agendados após a máquina original estar funcionando: isso também é um espelho online . (você não precisa reiniciar nenhum servidor / máquina)

crontab na máquina 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
    
por 16.10.2012 / 10:28
1

Mover o gitolito parece fácil:

  • você precisa se certificar de que as chaves públicas a que ele faz referência ainda estão no ~/.ssh/authorized_keys da nova página inicial (portanto, é necessário copiar o arquivo principalmente)
  • E você precisa mover os arquivos repositories , .gitolite e .gitolite.rc (verifique os caminhos no último)

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

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

    
por 16.10.2012 / 10:23