Reutilizando Steps em Workflows do GitHub Actions para Maior Eficiência

Aprenda a reutilizar steps em workflows do GitHub Actions para otimizar seus processos de CI/CD.

Reutilizando Steps em Workflows do GitHub Actions

A automação de processos de desenvolvimento é uma das principais vantagens do GitHub Actions. No entanto, conforme os projetos crescem, a necessidade de reutilizar steps comuns em diferentes workflows torna-se crucial para evitar duplicação de código e facilitar a manutenção. Neste tutorial, vamos explorar como você pode implementar essa prática de forma eficiente.

O que são Steps no GitHub Actions?

Os steps são as unidades de execução em um workflow do GitHub Actions. Cada step pode executar um comando ou uma ação específica e são organizados sequencialmente dentro de jobs. A reutilização de steps permite que você escreva uma vez e use várias vezes, economizando tempo e esforço.

Por que reutilizar Steps?

  • Redução de Duplicação: Evita a necessidade de escrever o mesmo código várias vezes.
  • Facilidade de Manutenção: Atualizações em um step são refletidas em todos os workflows que o utilizam.
  • Consistência: Garante que todos os workflows sigam o mesmo padrão de execução.

Como reutilizar Steps?

A reutilização de steps pode ser feita de duas maneiras principais: usando ações reutilizáveis ou definindo steps em um arquivo separado.

1. Usando Ações Reutilizáveis

As ações reutilizáveis são pacotes que podem ser usados em diferentes workflows. Você pode criar sua própria ação e publicá-la em um repositório. Veja um exemplo:

name: My Action

description: 'Uma ação que executa um comando específico.'

runs:
  using: 'node12'
  steps:
    - name: Executar Comando
      run: echo "Hello, World!"

Este exemplo define uma ação simples que imprime "Hello, World!". Ao definir ações, você pode chamá-las em diferentes workflows assim:

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Usar Ação Reutilizável
        uses: usuario/repo@v1

Nesse caso, a ação pode ser utilizada em qualquer workflow, promovendo a reutilização.

2. Definindo Steps em um Arquivo Separado

Você também pode definir um arquivo YAML separado que contém os steps comuns. Por exemplo:

# .github/workflows/common-steps.yml
steps:
  - name: Checkout
    uses: actions/checkout@v2
  - name: Configurar Node.js
    uses: actions/setup-node@v2
    with:
      node-version: '14'

E então você pode referenciar esses steps em outros workflows:

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Importar Steps Comuns
        uses: ./.github/workflows/common-steps.yml

Melhores Práticas para Reutilização de Steps

  • Documentação: Sempre documente suas ações e steps para que outros desenvolvedores entendam seu propósito.
  • Versionamento: Use tags para versionar suas ações, garantindo que você possa controlar alterações.
  • Testes: Realize testes em suas ações para garantir que funcionem conforme o esperado em diferentes cenários.

Exemplos Práticos

Exemplo 1: Ação para Testes

Imagine que você tenha uma ação que executa testes automatizados. Você pode reutilizá-la assim:

name: Testes

on: [push]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Usar Ação de Testes
        uses: usuario/test-action@v1

Este exemplo mostra como a ação de testes pode ser reutilizada em diferentes workflows, garantindo que todos os commits sejam testados adequadamente.

Exemplo 2: Ação de Deploy

Uma ação de deploy pode ser definida e reutilizada também:

name: Deploy

on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Usar Ação de Deploy
        uses: usuario/deploy-action@v1

Conclusão

A reutilização de steps em workflows do GitHub Actions é uma prática recomendada que não só melhora a eficiência do desenvolvimento, mas também promove a consistência e facilita a manutenção. Ao seguir as estratégias apresentadas neste guia, você poderá maximizar a eficácia dos seus workflows e garantir que sua equipe trabalhe de forma mais colaborativa e produtiva.

Adote essas práticas e observe como a qualidade e a velocidade do seu desenvolvimento aumentam significativamente. A automação é uma poderosa aliada na jornada para a excelência em DevOps!

Contribuições de Camila Ribeiro

Compartilhe este tutorial: Como reutilizar steps comuns em diferentes workflows no GitHub Actions?

Compartilhe este tutorial

Continue aprendendo:

Como configurar pipelines para múltiplos ambientes em branches separados?

Saiba como configurar pipelines para gerenciar múltiplos ambientes de forma eficaz.

Tutorial anterior

Como usar jobs paralelos com sincronização no final da execução?

Aprenda a implementar jobs paralelos com sincronização, garantindo eficiência e controle em suas aplicações.

Próximo tutorial