About environments
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 "Managing environments for deployment".
Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. The job can access the environment's secrets only after the job is sent to a runner.
When a workflow references an environment, the environment will appear in the repository's deployments. For more information about viewing current and previous deployments, see "Exibir o histórico de implantações."
Using an environment in a workflow
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