Implantar automaticamente do GitHub para o servidor no push

Temos um VPS no linode e código hospedado no gitHub. Como configuramos quando pressionamos para o gitHub, ele também envia automaticamente para o nosso servidor linode. Estamos usando o PHP no servidor linode.

Obrigado.

Você provavelmente quer usar os ganchos de pós-recebimento do GitHub .

Em resumo, o GitHub enviará para um URL fornecido quando alguém acessar o repository. Basta escrever um pequeno script PHP para rodar no seu linode VPS e extrair do GitHub quando ele receber o POST.

Eu escrevi um pequeno servidor Github-Auto-Deploy em python, que faz exatamente o que você quer.

  • Insira seu domínio em um novo gancho de serviço pós-recebimento no Github
  • Corresponder caminhos do repository local com URLs do repository no arquivo de configuração
  • O servidor receberá solicitações do github e executará o git pull no caminho do repository local
  • Ele também executa um script de shell para implantação depois, se você fornecer um

Acabei criando minha própria ferramenta de implantação rudimentar (muito parecida com a Karl, mas no PHP), que puxava automaticamente as novas atualizações do repository – https://github.com/jesalg/SlimJim – Basicamente, ele escuta o post-receive do github. gancho e usa um proxy para acionar um script de atualização.

Talvez eu esteja fora de contexto, mas eu prefiro escolher manualmente onde empurrar a partir da minha linha de comando, por exemplo: git push linode

Para fazer isso eu criei um contêiner de repository no meu servidor linode e criei um gancho de pós-recebimento que fez checkout da minha pasta para o último commit

Crie um repository git repo mkdir /var/repo && cd /var/repo git --bare init

Crie o gancho pós-recebimento em /var/repo/hooks/ touch post-receive nano post-receive chmod +x post-receive

conteúdo pós-recebimento #!/bin/sh git --work-tree=/var/www/ --git-dir=/var/repo checkout -f

Em seu repository local git remote add linode root@:/var/repo git push linode

seu código agora está implantado

Você pode se referir a este tutorial:
Atualizando automaticamente seu site usando os ganchos de serviço do GitHub :

Em suma, explica os seguintes passos:

Crie um arquivo php na pasta .git no seu servidor com o seguinte conteúdo.

  

Configure seu servidor para que as chaves S SH existam. Algo como:

 key. cat ~/.ssh/id_rsa.pub 

Configure o gancho de serviço no GitHub. Digite o URL do WebHook :

 http://your.domain.com/path/to/yourfile.php 

Quando tudo estiver definido. O arquivo vai implantar todo o trabalho em seu servidor toda vez que você enviar para o GitHub.