Parte do servidor
- acessar via ssh o servidor, por exemplo
ssh user@ip
- no servidor, acessar a pasta do projeto, por exemplo, /var/www/meu-projeto/
- criar e acessar a pasta, por exemplo app.git (
mkdir app.git && cd app.git
) - dentro de app.git, executar o comando
git init --bare
para criar um repositório mínimo git - criar um arquivo chamado post-receive dentro de app.git/hooks -
nano hooks/post-receive
e adicionar o seguinte conteúdo
#!/bin/sh
GIT_WORK_TREE=/var/www/meu-projeto git checkout -f
cd /var/www/meu-projeto && composer install --no-ansi --no-dev --no-interaction --no-progress --no-scripts --optimize-autoloader
- após salvar e sair da edição do arquivo dar permissão
sudo chmod +x hooks/post-receive
Fim da parte de configuração do servidor
Agora na máquina de desenvolvimento, acesse a pasta do projeto e adicione o endereço do servidor como remoto
git remote add deploy user@dominio:/var/www/meu-projeto/app.git
- e após adiciona é só fazer o commit para o servidor
git push deploy master
foi usado como base o seguinte post: https://medium.com/agits/deploy-com-git-configurando-e-executando-um-deploy-automatizado-156e3e1bc374