Olá pessoal, tudo bem? Vamos aprender a configurar um deploy utiizando Git? É super tranquilo!
Primeiro você vai ter que instalar o Git na sua máquina e no servidor e para fazer isso basta entrar no site oficial do Git:
Vamos iniciar pelo servidor
- No servidor você vai entrar usando ssh no diretório do seu projeto e criar uma pasta para o git com o comando:
mkdir deploy.git && cd deploy.git
- Depois vai rodar o comando:
git init --bare
-
Com isso você irá iniciar o Git de forma bem básica pois no servidor ele vai apenas receber o deploy do seu projeto local e atualizar os arquivos.
-
Agora vamos configurar o caminho para que o Git saiba onde colocar os arquivos do seu projeto. Rode o comando:
nano hooks/post-receive
- Dentro desse arquivo de texto coloque algo assim:
#!/bin/sh
GIT_WORK_TREE=/var/www/html/seusite git checkout -f
Apenas edite o caminho e o nome do diretório do seu projeto conforme está configurado aí no seu servidor.
-
Para salvar de o comando ctrl+o daí de um enter e depois feche o arquivo com ctrl + x
-
Para finalizar rode o comando para dar permissãoao arquivo:
sudo chmod +x hooks/post-receive
OBS: O hook post-receive roda depois que todo o processo esteja concluído e pode ser usado para atualizar outros serviços ou notificar os usuários. Ele recebe os mesmos dados do stdin que o hook pre-receive . Exemplos incluem envio de e-mails, notificar um servidor de integração contínua, ou atualização de um sistema, saiba mais em git-scm.com/book/pt-br/v1/Customizando-o-Git-Hooks-do-Git
Pronto! fechamos com a configuração do servidor. Bora tomar um café e depois continuar configurando o git na sua máquina.
- Agora vamos configurar o Git no projeto Local Entre no diretório do seu projeto com o terminal e inicie o Git com:
git init
Para configurar o acesso remoto para os ervidor rode o seguinte com as devidas alterações:
git remote add deploy usuario@dominio:/var/www/html/seusite/deploy.git
Calma que falta pouco! … kkk Já acabou… basta realizar o processo tradicional aquele:
git add .
git commit -am "Alterações para ao servidor"
git push deploy master
Nesse processo o sistema vai pedir sua senha do SSH e depois vai atualizar os arquivos lá no servidor. Legal né?
Isso ajuda bastante e elimina a utilização do FTP!
Abraço!