O Que É o GitHub Actions? CI/CD Integrado ao GitHub, Explicado
O GitHub Actions é a plataforma de automação nativa do GitHub. Ele executa workflows definidos em YAML sempre que algo acontece no seu repositório.
O GitHub Actions permite automatizar o build, o teste e o deploy de código sem sair do GitHub. Você descreve o que deve acontecer em arquivos YAML, e o GitHub executa esse trabalho em máquinas virtuais chamadas runners sempre que um evento correspondente ocorre.
O que é
O GitHub Actions é um serviço de integração contínua e entrega contínua (CI/CD) hospedado dentro do GitHub. Em vez de montar um servidor de CI separado, você commita arquivos de workflow no seu repositório e o GitHub os executa automaticamente.
Como funciona
Você coloca arquivos YAML em .github/workflows/. Cada arquivo declara um ou mais eventos a observar e os jobs a executar quando eles disparam. O GitHub provisiona um runner, faz o checkout do seu código, executa os steps e reporta o status de volta ao commit ou pull request.
name: CI
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm testOs blocos de construção centrais
- Workflow: o arquivo YAML que liga eventos a jobs.
- Job: um conjunto de steps que roda em um runner.
- Step: um único comando ou action.
- Action: uma unidade de trabalho reutilizável e empacotada.
Por que isso importa
Por viver ao lado do seu código, o GitHub Actions torna a automação uma parte de primeira classe de cada pull request. Status checks, deploys e varreduras de segurança rodam no momento em que o código muda, dando feedback rápido sem ferramentas separadas para manter.
Onde roda
Os workflows rodam em runners hospedados pelo GitHub por padrão, mas também podem rodar em runners self-hosted ou gerenciados. A Latchkey executa esses mesmos workflows em runners gerenciados que são mais baratos que os hospedados pelo GitHub e com autocorreção quando uma instância falha.
Principais conclusões
- O GitHub Actions é a plataforma nativa de CI/CD do GitHub.
- Workflows são arquivos YAML em
.github/workflows/acionados por eventos. - O modelo é eventos para workflows para jobs para steps.