wils@web ~ $ cat ~/ajuda/como-configurar-deploy-automatico-com-git-e-webhook-no-vps.md
ServidoresComo configurar deploy automático com Git e webhook no VPS
Este manual tem como objetivo ensinar como configurar um deploy automático utilizando Git e webhooks em um servidor VPS rodando Ubuntu 20.04.
Passo 1: Preparar o servidor
Primeiro, você precisa ter o Git instalado no seu servidor. Execute o seguinte comando:
sudo apt update && sudo apt install gitPasso 2: Criar um repositório Git
Crie um diretório para o seu projeto e inicialize um repositório Git:
mkdir ~/meu_projeto && cd ~/meu_projeto && git initPasso 3: Configurar o Webhook
Você precisará de um servidor web para receber os webhooks. Instale o Node.js e o npm:
sudo apt install nodejs npmCrie um arquivo chamado webhook.js:
nano webhook.jsAdicione o seguinte código ao arquivo:
const http = require('http');
const { exec } = require('child_process');
const server = http.createServer((req, res) => {
if (req.method === 'POST') {
exec('git pull origin main', { cwd: '/home/usuario/meu_projeto' }, (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.error(`stderr: ${stderr}`);
});
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Deploy realizado!');
}
});
server.listen(3000, () => {
console.log('Servidor rodando na porta 3000');
});Passo 4: Executar o servidor
Execute o servidor Node.js:
node webhook.jsPasso 5: Configurar o GitHub
No seu repositório do GitHub, vá até Settings > Webhooks e adicione um novo webhook. Use a URL do seu servidor:
http://SEU_IP:3000Dica de Verificação/Segurança
Certifique-se de que o seu servidor está protegido e que você está usando HTTPS para o webhook. Considere usar um firewall para limitar o acesso.
Precisa de ajuda com isso no seu servidor? A gente resolve pra você.
falar no WhatsApp →// deu erro ou não funcionou?
Achou algo errado neste manual?
Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.