Introdução ao GitHub Actions
O GitHub Actions é uma ferramenta de automação de CI/CD (Integração Contínua/Entrega Contínua) integrada ao GitHub, que permite configurar pipelines para automatizar tarefas como testes, builds, deploys e outras ações diretamente dentro do repositório. Com o GitHub Actions, você pode criar workflows personalizados para executar diversas ações quando eventos específicos ocorrem em seu repositório, como push, pull request, criação de tags, entre outros.
Nesta postagem, vamos explorar como usar o GitHub Actions para automatizar tarefas no seu repositório, desde a criação de um workflow até a execução de ações automatizadas, com um exemplo básico de um pipeline de CI para testes de código.
Como Funciona o GitHub Actions
O GitHub Actions é baseado em workflows, que são definidos em arquivos YAML e armazenados no diretório .github/workflows dentro do repositório. Cada workflow é composto por jobs que, por sua vez, contêm uma série de steps (etapas) que definem as ações a serem realizadas.
Esses workflows podem ser acionados por uma série de eventos do GitHub, como pushes para um branch, pull requests ou até agendamentos recorrentes.
Agora, vamos criar um exemplo básico de workflow que executa testes sempre que houver um push no repositório.
Exemplo de Código: Criando um Workflow de Testes
Aqui está um exemplo básico de um arquivo de workflow que será executado sempre que um push for feito no repositório:
name: Test Workflow
on:
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.8'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Run tests
run: |
pytest
Explicando o Workflow
- name: Define o nome do workflow (neste caso, "Test Workflow").
- on: Define o evento que dispara o workflow. Aqui, ele é acionado quando há um push para o branch
main. - jobs: Define o trabalho a ser realizado. Neste caso, o job é chamado de
test. - runs-on: Especifica o sistema operacional para o ambiente de execução (aqui, estamos usando o
ubuntu-latest). - steps: Define as etapas dentro do job. No exemplo, temos:
- Checar o código do repositório com
actions/checkout@v2. - Configurar o ambiente Python com
actions/setup-python@v2. - Instalar dependências com
pip install -r requirements.txt. - Executar testes com
pytest.
- Checar o código do repositório com
Comando para Rodar o Workflow
Depois de adicionar o arquivo YAML no diretório .github/workflows, o GitHub Actions irá rodar o workflow automaticamente quando um push for feito no branch main do repositório. Não é necessário rodar nenhum comando manualmente; tudo é automatizado pelo GitHub.
Saída Esperada
Quando o workflow é executado, você verá a saída no GitHub, que mostra o progresso das etapas, como a instalação das dependências e a execução dos testes. Abaixo está um exemplo do que você verá:
Run actions/checkout@v2
...
Run actions/setup-python@v2
...
Run pip install -r requirements.txt
...
Run pytest
============================= test session starts ================================
...
100% passed, no failures
============================ 1 passed in 0.12 seconds ============================
O GitHub Actions irá reportar os testes que passaram ou falharam diretamente na interface do GitHub.
Benefícios de Usar GitHub Actions
- Automação Total: O GitHub Actions permite automatizar praticamente qualquer processo, desde testes até deploys, diretamente dentro do GitHub.
- Integração com GitHub: Por ser integrado ao GitHub, você não precisa configurar ferramentas externas ou gerenciar servidores para rodar pipelines CI/CD.
- Facilidade de Configuração: Criar workflows em YAML é simples, e o GitHub Actions oferece uma vasta gama de ações predefinidas que você pode utilizar em seu pipeline.
- Escalabilidade: Você pode facilmente escalar o uso do GitHub Actions para projetos maiores, com múltiplos jobs e integrações.
Para mais informações sobre o GitHub Actions e como criar workflows avançados, consulte a documentação oficial do GitHub Actions.
Agora que você aprendeu como configurar e usar o GitHub Actions, experimente integrá-lo no seu fluxo de trabalho de desenvolvimento para automação contínua. Se tiver dúvidas ou quiser compartilhar suas experiências, deixe nos comentários.
Comentários
Postar um comentário