Fazer deploy de uma aplicação com GIT

Vamos configurar um repositorio git no servidor de produção para fazer deploy de nossa aplicação

Preparando o ambiente

Vamos criar um usuario no linux para cuidar do repositorio

$ useradd -d /home/repositorio repositorio
# registrando uma senha para nosso novo usuario
$ passwd repositorio
$ chmod 755 /home/repositorio
$ chown repositorio:repositorio /home/repositorio

Criando o repositório

$ mkdir /home/repositorio/fernandopetry.com.br.git
$ cd /home/repositorio/fernandopetry.com.br.git
$ git init --bare

pronto, agora temos um repositorio vazio

Adicionando o repositorio de produção no nosso projeto local

$ cd fernandopetry.com.br
$ git remote add producao repositorio@meu_dominio.com:/home/repositorio/fernandopetry.com.br.git

Clonagem do repositorio para produção

Vamos clonar o projeto em produção que irá criar um projeto vazio online.

$ git clone /home/repositorio/fernandopetry.com.br.git /home/$USUARIO/fernandopetry.com.br/public_html

Vamos adicionar o usuario repositorio ao grupo do $USUARIO para poder executar os comandos do Hookes

$ gpasswd -a repositorio $USUARIO

Este seria o caminho no meu servidor, você deverá substituir pelo caminho do seu servidor

Git Hooks

Com esse “setup” feito, agora eu posso ir para o que importa, que é configurar meu hook. Lá no seu servidor, dentro do repositório bare que foi criado, encontre a pasta hooks, e dentro dela tem um arquivo chamado post-receive. Esse cara é o hook que vai detectar algo depois do recebimento de uma mudança. Você vai colocar esse código:

#!/bin/bash
cd /public/diegoeis.com
env -i git reset —hard
env -i git pull origin master
exit

Bom, são comandos bash, simples: entra na pasta do meu site, reseta o repositório e faz um pull com as últimas alterações. Esse env -i é um truque que faz os comandos serem executados na pasta que você entrou ali no seu comando bash. Se não houver esse env -i, todos os comandos git que você rodar, vão tentar rodar na pasta fora do seu repositório. Colocando essa flag, isso não vai acontecer.

Por último, você precisa tornar o post-receive um arquivo executável rodando:

chmod +x /home/repositorio/fernandopetry.com.br.git/hooks/post-receive

Referencia:

https://tableless.com.br/deploy-usando-git-pull-e-hooks/

Veja aqui como fazer o deploy em uma hospedagem:
https://tableless.com.br/usando-git-para-atualizar-arquivos-no-servidor-de-hospedagem-ii-final/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.