Deploy utilizando Git, uma forma simples de publicação.
Hellos Devs,
Neste tutorial irei explicar de uma forma simples de como utilizar o Git para publicar seu projeto/site, apesar de existirem outras ferramentas que auxiliam no processo de deploy como PHP Deployer, Capistrano, Jenkins e outras.
Requisitos:
Acesso ao servidor por SSH Conhecimento básico de Git
Primeiros passos
Vamos acessar o nosso servidor utilizado o SSH, para usuários Windows você precisar instalar um software como por exemplo o Putty, para usuários Linux, iremos utilizar o seguite comando:
ssh usuário@ip-do-servidor
Agora que estamos logados em nosso servidor vamos até a pasta no nosso projeto como por exemplo:
cd /var/www/site
Neste momento não temos nada em nosso projeto/site iremos criar a seguinte pasta e acessar.
mkdir app.git && cd app.git
Agora iremos criar um repositório Git do tipo Bare, vamos digitar o seguinte comando.
git init --bare
Esse tipo repositório não é possível executar os comandos push e pull a função desse repositório é apenas receber o push que iremos enviar do nosso ambiente de desenvolvimento.
Próximo passo...
Neste momento temos o nosso repositório do tipo Bare criado, iremos trabahar agora com o hooks, se quiser ter um conhecimento maior sobre recomendo a leitura da documentação do Git.
Iremos editar o seguite arquivo digite em seu terminal o seguinte comando
vi hooks/post-receive
Com esse comando iremos abrir o vi editor do Linux e adicionar o seguinte código
#!/bin/sh
GIT_WORK_TREE=/var/www/site git checkout -f
Para salvar o documento aperte as seguintes teclas CTRL + C e depois digite wq.
O hook post-receive terá a função de ficar obersando qualquer alteração que iremos enviar do nosso ambiente de desenvolvimento.
Para finalizar iremos dar a permissão em nosso hook utilizando o comando:
chmod +x hooks/post-receive
Finalizamos de configurar o servidor, agora iremos configurar o ambiente de desenvolvimento para envio.
Configurando o ambiente local
Imagino que você já este trabalhando com versionamento, agora iremos adicionar uma indicação de endereço remoto.
git remote add deploy ssh://usuario@ip-do-servidor:porta/var/www/site/app.git
Caso o seu servidor tenha porta basta adicionar os dois e depois o número da porta.
Agora para testarmos basta executar o comando
git push deploy