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.
jobs:
deploy:
runs-on: ubuntu-latest
environment: production
steps:
- run: ./deploy.shComo 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.