Sobre ambientes
Os ambientes são usados para descrever um destino de implantação geral, como production
, staging
ou development
. Quando um fluxo de trabalho de GitHub Actions é implantado em um ambiente, o ambiente é exibido na página principal do repositório. Você pode usar ambientes para exigir aprovação para um trabalho prosseguir, restringir quais ramificações podem acionar um fluxo de trabalho , bloquear implantações com regras de proteção de implantação personalizadas ou limitar o acesso a segredos. Para saber mais sobre como criar ambientes, confira "Gerenciar ambientes para implantação".
Cada trabalho em um fluxo de trabalho pode fazer referência a um único ambiente. Todas as regras de proteção configuradas para o ambiente têm de ser aprovadas antes que um trabalho de referência ao ambiente seja enviado a um executor. O trabalho só pode acessar os segredos do ambiente depois que for enviado para um executor.
Quando um fluxo de trabalho faz referência a um ambiente, o ambiente aparecerá nas implantações do repositório. Para obter mais informações sobre como ver as implantações atuais e anteriores, confira "Exibir o histórico de implantações."
Usar um ambiente em um fluxo de trabalho
Você pode especificar um ambiente para cada tarefa do seu fluxo de trabalho. Para fazer isso, adicione uma chave jobs.<job_id>.environment
seguida do nome do ambiente.
Por exemplo, este fluxo de trabalho usará um ambiente chamado production
.
name: Deployment
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment: production
steps:
- name: deploy
# ...deployment-specific steps
Quando o fluxo de trabalho acima for executado, o trabalho deployment
estará sujeito às regras configuradas para o ambiente production
. Por exemplo, se o ambiente exigir revisores, o trabalho fará a pausa até que um dos revisores aprove o trabalho.
Você também pode especificar uma URL para o ambiente. A URL especificada será exibida na página de implantações do repositório (acessada por meio de um clique em Ambientes na home page do repositório) e no grafo de visualização da execução de fluxo de trabalho. Se uma solicitação de pull disparar o fluxo de trabalho, a URL também será exibida como um botão Exibir implantação na linha do tempo da solicitação de pull.
name: Deployment
on:
push:
branches:
- main
jobs:
deployment:
runs-on: ubuntu-latest
environment:
name: production
url: https://github.com
steps:
- name: deploy
# ...deployment-specific steps