Automatize o deploy dos seus fluxos de push ou pull requests enviados para um determiando repositório do GitHub.
Usando as actions do GitHub podemos criar um pipeline de deploy, automatizando o envio de código para um VPS via SSH.
Antes de começar, verifique se você atendeu aos seguintes requisitos:
- Um VPS Linux online para o deploy. ☁️
- O SSH do servidor acessível aos endereços IP do GitHub.
- As chaves do SSH geradas. 🔑
- Secrets configuradas no repositório. 🔐
Para que o GitHub possa se conectar no servidor e executar comandos pré e pós realizar o envio do repositório, a chave de autenticação deve ser gerada para posteriormente ser cadastrada no secret do GitHub.
Execute o seguinte comando no terminal do servidor para gerar a chave:
ssh-keygen -t rsa
Para criar as secrets do repositório, siga estas etapas via navegado:
Acesse a aba Settings
do repositório.
Agora no campo security clique em Secrets
e depois em Actions
, para começar a cadastrar as secrets clique em New repository secret
.
Apenas 4 secrets são necessárias para que o deploy ocorra com com êxito, representando as seguintes informações: porta do SSH, nome do usuario SSH, chave SSH privada e o endereço do servidor.
Obedecendo o padrão de chave e valor, as secrets devem ser cadastradas com essas informações:
- Crie uma chave
HOST
que deve conter o endereço do servidor (tokstok.infosec.dev.br nesse exemplo). - Crie uma chave
KEY
que deve conter o valor da chave privada do SSH (execute para ver a sua chave cat ~/.ssh/id_rsa). - Crie uma chave
PORT
que deve conter o numero da porta do SSH (22 nesse exemplo). - Crie uma chave
USERNAME
que deve conter o nome do usuário do SSH (user nesse exemplo).
Agora todos os envios via push ou PR (Pull Request) para o repositório vão ser entregues no servidor via SSH automaticamente. 😎