segunda-feira, 6 de agosto de 2012

Deploy automatizado com GIT

Procurando um jeito de automatizar a atualização do servidor de produção usando GIT, me deparei com os seguintes artigos que me ajudaram a fazer esse resumo: artigo de Akita, artigo de Thiago Belém, artigo de Abhijit Menon-Sen e artigo de Daniel Miesser. Resumi e modifiquei ligeiramente para meu próprio entendimento posterior e escrevi esse guia-lembrete. Notar que a minha configuração de ambiente é um Windows 7 como máquina local, um programa de SSH disponível (uso o GIT for Windows, mas pode ser o Putty), servidor remoto Linux hospedado no Uol Host. Mas deixemos de conversa e vamos pros comandos!

Criação de um repositório git vazio no servidor usando SSH:
mkdir home/meu_usuario/repos/meu_projeto.git
cd home/meu_usuario/repos/meu_projeto.git
git init --bare
 
Adicionando na máquina local o novo repositório remoto: 
cd meu_projeto
git remote add origin ssh://meu_usuario@meu_dominio/home/meu_usuario/repos/meu_projeto.git 
 
Ou com um outro nome diferente de origin:
cd meu_projeto
git remote add nome ssh://meu_usuario@meu_dominio/home/meu_usuario/repos/meu_projeto.git 
 
Escrevendo o git-hook responsável pela atualização:
cd ~/repos/meu_projeto.git/hooks
nano post-receive
#!/bin/sh
GIT_WORK_TREE=/home/meu_usuario/meu_projeto git checkout -f
(crtl+X para salvar)
chmod +x post-receive  
 

Dando o primeiro push:
git push nome +master:refs/heads/master
 
Remoção de um repositório remoto:
git remote rm nome

Nenhum comentário:

Postar um comentário