Deploy utilizando Git, uma forma simples de publicação.

Publicado em 30 de Jul 2017.

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:

sudo 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