Inicialmente vou explicar o ambiente que temos:
CPU D: computador de desenvolvimento do código fonte PHP e onde versiono com GIT
CPU P: computador de produção
No meu caso os dois computadores rodam Debian, mas poderia ser outro Linux.
Instalei GIT e SSH no dois computadores.
- A partir do CPU D acessei remotamente o CPU P via ssh:ssh [usuario CPU P]@[ip CPU P]
- De dentro do CPU P criaremos um diretório que vai receber uma referencia do código fonte versionado no CPU D.mkdir [nome diretório]cd [nome diretório]
- Agora vamos criar uma versão bare do nosso repositório. Resumindo bare é uma versão com as configurações do GIT e dados da versão do seu código fonte.git clone --bare ssh://[usuario CPU D]@[ip CPU P]/home/usuário CPU D/
- No ultimo passo vamos baixar todo nosso código fonte para a o diretório onde está rodando o servidor web:GIT_WORK_TREE=/[diretório de produção] git checkout -f
Este comando acima precisa ser executado de dentro do [nome diretório], passo 2, onde foi feito o bare.
Mas qual a vantagem disso?
Poderíamos usar o rsync para colocar o código fonte na produção sem problemas!
Mas os arquivos de configuração do GIT seriam levados juntos. Repare no ultimo comando, item 4, que defino o diretório, GIT_WORK_TREE, é onde os arquivos serão colocados.
Resumindo colocamos as configurações da versão em um diretório e os arquivos versionados em outro diretório.
Referências:
How to use git over SSH http://www.mindfuzz.net/?p=250
Simple Git Deployment http://ryanflorence.com/simple-git-deployment/
Nenhum comentário:
Postar um comentário