O melhor método de implantação git de todos os tempos.

Enquanto trabalhava em http://tentaclecms.com , precisava de uma solução simples para testar o código em um servidor web remoto.

No passado, eu trabalhava localmente e sincronizava com o FTP para o servidor e depois testava fora do servidor remoto, usei o SVN para meu controle de origem. No ano passado, comecei a trabalhar localmente e usar o Git como meu principal controle de origem.

Isso deixou uma pequena lacuna no meu processo onde eu não poderia mais testar em um servidor remoto sem atualizá-lo manualmente por S / FTP ou abrir o terminal e fazer manualmente um git pull.

Eu criei um helper Git muito simples e dei a ele sua própria URL, algo como git / pull .

Em seguida, usei um Github Post-Receive URL Hook encontrado em admin / service hooks que apontava para o meu servidor de teste git pull URL, cada vez que faço um push para o Github, o Github dispara automaticamente o URL, acionando o pull helper.

Uma pequena observação é que, se você verificar um branch de desenvolvimento em um servidor de teste e também tiver um servidor ativo, deverá adicionar uma segunda URL com o mesmo código nesse servidor de fígado. Um toque atualizaria os dois sites.

Apenas certifique-se de que o servidor ativo está no branch correto.

Se você não quiser usar um anzol, não há problema algum. Basta chamar a URL no navegador e você verá a mensagem pull do Git.

/**
* Git Pull

*

* @author Adam Patterson

* http://www.adampatterson.ca/blog/2011/10/diy-simple-staging-server/

*

* Use: echo pull();

*/


function pull ( )
{
return shell_exec('git pull');
}

Veja o código aqui https://gist.github.com/1293697