You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today.

Como fazer deploy via push para uma VPS

< Bruno Couty > atualizado em 15/01/2020


Aqui vamos aprender como utilizar o Git para fazer o deploy da aplicação para um VPS Você poderá realizar deploys para diferentes servidores: produção, beta, homologação, etc...

Vamos às configurações.

Servidor Remoto:

Vamos assumir que o diretório principal de sua aplicação, no VPS seja: "/var/www/application.com" e seu repositório, 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 documentação do Git prevê três tipos possíveis 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 conteúdo, alterando para sua configuração:

#!/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

Máquina Local (de desenvolvimento com o fonte)

Parto do principio que seu código-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 código ao repositório, se enviar para o remote "live", irá para a pasta onde foi configurado o deploy (/var/www/domain.com).


Utilizamos cookies essenciais e tecnologias semelhantes de acordo com a nossa Política de Privacidade e nossos Termos e Condições de Uso. Ao continuar navegando, você concorda com esta utilização.