anúncios

segunda-feira, 20 de junho de 2022

Realizar deploy com GitHub Actions

O que é GitHub Actions?

GitHub Actions é uma plataforma de integração contínua e entrega contínua (CI/CD) que permite automatizar a sua compilação, testar e pipeline de implantação. É possível criar fluxos de trabalho que criam e testam cada pull request no seu repositório, ou implantar pull requests mesclados em produção.

O presente post, explica os procedimentos de deploy com CI/CD no GitHub Actions.

No servidor de produção, execute:

ssh-keygen -m PEM -t rsa -b 4096 -C "seuusuario@github.com" cat github-actions >> autenticate_keys cat github-actions

A chave secreta que deve ser copiar na sua conta do GitHub

Criar o arquivo .yml para o CI/CD

$ vim github-action\workflows\ci.yml

NOTA: Se atentar a tabulação do arquivo .yml


name: seudominio.com CI
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout do repositorio
        uses: actions/checkout@1
      - name: Deploy para meu hosting
        uses: easingthemes/ssh-deploy@main
        env:
          SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
          ARGS: "-rlgoDzv0 --delete"
          SOURCE: "src/"
          REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
          REMOTE_USER: ${{ secrets.REMOTE_USER }}
          REMOTE_PORT: ${{ secrets.REMOTE_PORT }}
          TARGET: ${{ secrets.REMOTE_TARGET }}

Agora criar o repositório local e remoto (GitHub, Bitbucket ou GitLab)

Em Settings/Secrets adicione o valor das variáveis definidas no arquivo ci.yml nos respectivos campos, tais como: REMOTE_HOST, REMOTE_USER, REMOTE_PORT.

git add .
git commit -m "First commit"
git remote add origin URL_REPOSITORIO
git push origin main

Verificar no GitHub Actions o processo de deploy

Pronto, é assim que precisa ser o deploy aplicando CI/CD automatizado. Caso você ainda utiliza o deploy via FTP ou conecta o servidor de produção via SSH, esteja ciente que está no modo arcaico.

Referências

https://github.com/features/actions

Feito!

Nenhum comentário:

Postar um comentário