Skip to content
Latchkey

O Que É um Environment no GitHub Actions?

Um environment é um alvo de deploy nomeado com seus próprios secrets e regras de proteção, como exigir uma aprovação antes de production.

Deploys precisam de proteções. Environments permitem definir alvos como staging e production, anexar secrets com escopo a cada um e proteger jobs atrás de revisores ou temporizadores de espera.

O que é

Um environment é um objeto nomeado nas configurações do repositório. Um job declara environment: para direcioná-lo, absorvendo os secrets e as regras de proteção desse environment.

Targeting an environment
jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - run: ./deploy.sh

Como funciona

Quando um job direciona um environment protegido, o GitHub pausa o job até que as regras de proteção passem, por exemplo um revisor obrigatório aprovar ou um temporizador de espera decorrer. Os secrets do environment são então expostos ao job.

Regras de proteção

  • Revisores obrigatórios precisam aprovar antes de o job executar.
  • Um temporizador de espera atrasa o deploy por um período definido.
  • Restrições de branch limitam quais refs podem fazer deploy.

Por que importa

Environments transformam deploys em eventos auditáveis e controlados. Eles mantêm as credenciais de produção separadas e colocam uma pessoa ou política como barreira diante de releases arriscados.

Conceitos relacionados

Environments guardam seus próprios secrets, conduzem deployments e combinam naturalmente com workflow_dispatch para releases manuais.

Principais conclusões

  • Um environment é um alvo de deploy nomeado.
  • Ele carrega secrets com escopo e regras de proteção.
  • Regras de proteção podem exigir aprovação antes de um job executar.

Guias relacionados