Skip to main content

Usando ambientes para implantação

Especifique um ambiente de implantação em seu fluxo de trabalho.

Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.

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