Implementação automática do GitLab

2

Eu criarei um servidor gitlab na minha escola para hospedar o código da turma. Desejo fazer com que toda vez que qualquer usuário acessar o gitlab implante automaticamente o projeto em /var/www/gitdeploy/<repo-user>/<repo>/<branch> , de forma que http://<myServer>/gitdeploy/<repo-user>/<repo>/<branch> seja acessível.

De preferência, implantaria todos os ramos, mas no mínimo o mestre estaria bem. Tudo isso será executado no mesmo servidor.

Eu ouvi falar do Gitlab CI, mas não tinha certeza se era para mim e não entendia como configurá-lo.

Como eu poderia fazer isso?

EDITAR: Além disso, eu acho que devo especificar que eu quero para todos os usuários, espero que sem eu configurá-lo para cada usuário, gelo global

    
por Kaiden Prince 25.08.2015 / 23:14

2 respostas

0

Eu descobri uma possível solução, na instalação 'Omnibus', acredito que é possível criar um gancho global adicionando algum código ruby em /opt/gitlab/embedded/service/gitlab-shell/hooks/post-receive . No entanto, sempre que você atualizar o gitlab, esse gancho será revertido para a versão do pacote. Eu sugeriria segurar o pacote para evitar isso.

    
por 31.08.2015 / 20:45
4

Você poderia fazer isso com um gancho do lado do servidor git (como post-receive ) que implanta seu código. No entanto, o Gitlab CI foi projetado para isso e você deve considerar usá-lo.

Se você for com um gancho, o gancho será um script de shell em .git/hooks/post-receive/ . Ele precisará de credenciais de implantação e você precisará escrevê-lo você mesmo. No entanto, esse é um caso de uso de ganchos. Confira a documentação: link

Veja também a documentação específica do gitlab: link

    
por 25.08.2015 / 23:21