Implantação de CI/CD com GitHub Actions e servidores privados
============================================================
Arquitetura de implantação
Neste guia técnico, exploraremos a implementação de uma implantação de CI/CD usando GitHub Actions e servidores privados. Este processo automatizará a construção, o teste e a implantação de aplicativos em um ambiente de produção.
Pré-requisitos
Uma conta GitHub com um repositório existente
Um servidor privado com acesso SSH
Acesso ao console do servidor
Conhecimento básico de Git e GitHub Actions
Configurando ações do GitHub
Crie um fluxo de trabalho
1. Faça login em sua conta GitHub e navegue até seu repositório.
2. Clique em
Configurações >
Ações >
Novo fluxo de trabalho.
3. Selecione
Criar um novo fluxo de trabalho do zero.
4. Defina o nome e a descrição do seu fluxo de trabalho.
Configuração do fluxo de trabalho
yml
nome: Implantação CI/CD
em:
empurrar:
filiais:
- principal
empregos:
construir e implantar:
executado: ubuntu-mais recente
etapas:
- nome: Código de checkout
usa: ações/checkout@v2
- nome: Instalar dependências
execute: npm install
- nome: código de compilação
executar: npm executar compilação
- nome: Testes
executar: teste de execução npm
- nome: Implantação
usa: appleboy/ssh-action@v1
com:
anfitrião: ${{ secrets.PRIVATE_SERVER }}
nome de usuário: ${{ secrets.SERVER_USER }}
chave privada: ${{ secrets.PRIVATE_KEY }}
roteiro: |
cd /var/www/html
git pull origem principal
instalação npm
npm executar compilação
npm início
Variáveis de ambiente
PRIVATE_SERVER: endereço IP ou nome do servidor privado.
SERVER_USER: Nome de usuário para acessar o servidor.
PRIVADA_KEY: Chave privada de acesso ao servidor.
Configuração SSH
1. Crie um arquivo de configuração SSH em seu repositório com o nome .ssh/config.
2. Adicione a seguinte configuração:bash
Host PRIVATE_SERVER
Nome do host PRIVATE_SERVER
Usuário SERVER_USER
Arquivo de identidade ~/.ssh/PRIVATE_KEY
3. Crie um arquivo de chave privada em sua máquina local com o nome PRIVADA_KEY.
Configuração de servidor privado
Instalar SSH
1. Conecte-se ao seu servidor privado usando SSH.
2. Instale o SSH se não estiver instalado:bash
sudo apt-get atualização
sudo apt-get install openssh-server
3. Reinicie o serviço SSH:bash
sudo serviço ssh reiniciar
Configuração de acesso SSH
1. Crie um novo grupo de usuários no servidor:bash
sudo groupadd implantação_grupo
2. Adicione o usuário ao grupo:bash
sudo usermod -aG implantação_grupo SERVER_USER
3. Conceda permissões de gravação ao grupo no diretório de implantação:bash
sudo chown -R SERVER_USER:deployment_group /var/www/html
Implantação automatizada
1. Salve as alterações em seu fluxo de trabalho.
2. Verifique se o fluxo de trabalho é executado corretamente.
3. A implantação será feita automaticamente sempre que um push for feito para a ramificação principal.
Segurança
Certifique-se de que a chave privada esteja criptografada com uma senha.
Limita o acesso ao servidor através de IP ou grupo de usuários.
Usa um token de acesso para implantação.
Problemas Comuns
Verifique se a chave privada está configurada corretamente no arquivo .ssh/config.
Certifique-se de que o servidor esteja configurado para permitir conexões SSH.
Verifique se o fluxo de trabalho está configurado corretamente no GitHub.
Referências
Ações do GitHub
SSH
Servidores Privados