Tecnologia
Como fazer deploy via push para uma VPS
15/01/2020 às 13:48 Bruno Couty
Aqui vamos aprender como utilizar o Git para fazer o deploy da aplicao para um VPS Voc poder realizar deploys para diferentes servidores: produo, beta, homologao, etc...
Vamos s configuraes.
Servidor Remoto:
Vamos assumir que o diretrio principal de sua aplicao, no VPS seja: "/var/www/application.com
" e seu repositrio, no mesmo servidor, estar em: "/var/repo/site.git
". Como podemos dar um "push
" para "site.git
" e, simultaneamente, enviar para: "/var/www/application.com.br
"?
Bem, execute:
cd /var
mkdir repo
cd repo
mkdir site.git
cd site.git
git init --bare
O sistema criar algumas pastas e arquivos dentro de site.git
. Entre elas, a pasta "hooks
". A documentao do Git prev trs tipos possveis de server hooks: pre-receive
, update
e post-receive
.
- pre-receive: executado antes do servidor receber um push
- update: similar ao pre-receive, mas executado uma vez a cada branch
- post-receive: executado quando um push completamente finalizado
Vamos editar o arquivo post-receive:
cd hooks
cat > post-receive
Adicione o seguinte contedo, alterando para sua configurao:
#!/bin/sh
git --work-tree=/var/www/application.com --git-dir=/var/repo/site.git checkout -f
Execute CTRL + D, para sair e salvar.
chmod +x post-receive
Mquina Local (de desenvolvimento com o fonte)
Parto do principio que seu cdigo-fonte j esteja sob o Git.
Vamos adicionar um "remote" apontando para o servidor remoto (onde acabamos de configurar o deploy):
git remote add live ssh://[email protected]/var/repo/site.git
Agora, ao fazer um push, para enviar o cdigo ao repositrio, se enviar para o remote "live", ir para a pasta onde foi configurado o deploy (/var/www/domain.com
).