Ambientes

Você pode configurar ambientes com regras de proteção e segredos. Um trabalho de fluxo de trabalho pode fazer referência a um ambiente para usar as regras de proteção e os segredos do ambiente.

GitHub Actions está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub AE. GitHub Actions não está disponível para repositórios privados pertencentes a contas usando os planos de legado por repositório. Os ambientes, regras de proteção de ambiente e segredos de ambiente estão disponíveis em repositórios públicos para todos os produtos e em repositórios privados para GitHub Enterprise. Para obter mais informações, consulte "produtos de GitHub

Sobre ambientes

Você pode configurar ambientes com regras de proteção e segredos. Quando um trabalho de fluxo de trabalho faz referência a um ambiente, o trabalho não será iniciado até que todas as regras de proteção do ambiente sejam aprovadas. Um trabalho também não pode acessar segredos definidos em ambiente até que todas as regras de proteção do ambiente sejam aprovadas.

As regras de protecção do ambiente e os segredos de ambiente só estão disponíveis em repositórios públicos e repositórios privados em um plano corporativo. Se você converter um repositório de público para privado em um plano não corporativo, todas as regras de proteção configuradas ou segredos de ambiente serão ignorados e você não será capaz de configurar nenhum ambiente. Se você converter seu repositório de volta para público, você terá acesso a todas as regras de proteção e segredos de ambiente previamente configurados.

Regras de proteção de ambiente

As normas de proteção do ambiente exigem a aprovação de condições específicas antes que um trabalho que faz referência ao ambiente possa prosseguir. Você pode usar regras de proteção do ambiente para exigir uma aprovação manual, atrasar um trabalho ou restringir o ambiente a certos branches.

Revisores necessários

Use os revisores necessários para exigir que uma pessoa ou equipe específica aprove os trabalhos do fluxo de trabalho que fazem referência ao ambiente. Você pode listar até seis usuários ou equipes como revisores. Os revisores devem ter, pelo menos, acesso de leitura ao repositório. Apenas um dos revisores precisam aprovar o trabalho para que prossiga.

Para obter mais informações sobre os trabalhos de revisão que fazem referência a um ambiente com os revisores necessários, consulte "Revisar implantações".

Temporizador de espera

Use o temporizador de espera para atrasar o trabalho por um período específico de tempo depois que o trabalho for inicialmente acionado. O tempo (em minutos) deve ser um número inteiro entre 0 e 43.200 (30 dias).

Implementar branches

Use os branches de implantação para restringir quais branches podem ser implementados no ambiente. Abaixo, estão as opções para branches de implantação para um ambiente:

  • Todos os branches: Todos os branches no repositório podem implantar no ambiente.

  • Branches protegidos: Somente branches com regras de proteção de branch habilitadas podem implementar no ambiente. Se nenhuma regra de proteção de branch for definida para qualquer branch no repositório, todos os branches poderão implantar. Para obter mais informações sobre as regras de proteção de branches, consulte "Sobre branches protegidos".

  • Branches selecionados: Somente branches que correspondem a seus padrões de nome especificados podem implantar no ambiente.

    Por exemplo, se você especificar releases/* como uma regra de implantação de branch, apenas os branches cujo nome começa com releases/ poderão fazer a implantação no ambiente. (Caracteres curinga não correspondem a /. Para corresponder aos branches que começam com release/ e contêm uma única barra adicional, use release/*/*.) Se você adicionar main como uma regra de branch de implantação, um branch denominado main também poderá ser implantado no ambiente. Para obter mais informações sobre opções de sintaxe para branches de implantação, consulte a Documentação File.fnmatch do Ruby.

Segredos de ambiente

Os segredos armazenados em um ambiente só estão disponíveis para trabalhos de fluxo de trabalho que fazem referência ao ambiente. Se o ambiente exigir aprovação, um trabalho não poderá acessar segredos de ambiente até que um dos revisores necessários o aprove. Para obter mais informações sobre segredos, consulte "Segredos criptografados".

Observação: Os fluxos de trabalho executados em executores auto-hospedados não são executados em um contêiner isolado, mesmo que usem ambientes. Os segredos de ambiente devem ser tratados com o mesmo nível de segurança que os segredos do repositório e da organização. Para obter mais informações, consulte "Enrijecimento de segurança para o GitHub Actions".

Criar um ambiente

Para configurar um ambiente em um repositório de conta de usuário, você deve ser o proprietário do repositório. Para configurar um ambiente em um repositório da organização, é necessário ter acesso de administrador.

  1. No GitHub, navegue até a página principal do repositório.
  2. No nome do seu repositório, clique em Configurações. Botão de configurações do repositório
  3. Na barra lateral esquerda, clique em Ambientes.
  4. Clique em Novo ambiente.
  5. Insira um nome para o ambiente e clique em Configurar ambiente. Os nomes de ambiente não diferenciam maiúsculas de minúsculas. Um nome de ambiente não pode exceder 255 caracteres e deve ser único dentro do repositório.
  6. Configure todas as regras de proteção de ambiente ou segredos de ambiente.

Você também pode criar e configurar ambientes por meio da API REST. Para obter mais informações, consulte "Ambientes" e "Segredos."

Executar um fluxo de trabalho que faz referência a um ambiente que não existe criará um ambiente com o nome referenciado. O novo ambiente não terá nenhuma regra de proteção ou segredos configurados. Qualquer pessoa que possa editar fluxos de trabalho no repositório pode criar ambientes por meio de um arquivo de fluxo de trabalho, mas apenas os administradores do repositório podem configurar o ambiente.

Fazer referência a um ambiente

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. Quando o trabalho é enviado para o executor, o trabalho poderá acessar os segredos do ambiente.

Para obter mais informações sobre sintaxe para ambientes de referência em fluxos de trabalho, consulte "Sintaxe do fluxo de trabalho para GitHub Actions". Para obter mais informações sobre os trabalhos de revisão que fazem referência a um ambiente com os revisores necessários, consulte "Revisar implantações".

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 a visualização de implementações atuais e anteriores, consulte "Visualizar histórico de implantação".

Usar a concorrência para serializar implantações em um ambiente

Você pode usar a concorrência para que um ambiente tenha, no máximo, uma implantação em andamento e uma implantação pendente por vez. Para obter mais informações, consulte "Sintaxe do fluxo de trabalho para o GitHub Actions".

Excluir um ambiente

Para configurar um ambiente em um repositório de conta de usuário, você deve ser o proprietário do repositório. Para configurar um ambiente em um repositório da organização, é necessário ter acesso de administrador.

A exclusão de um ambiente apagará todos os segredos e regras de proteção associados ao ambiente. Todos os trabalhos que estejam atualmente em espera devido às regras de proteção do ambiente eliminado falharão automaticamente.

  1. No GitHub, navegue até a página principal do repositório.
  2. No nome do seu repositório, clique em Configurações. Botão de configurações do repositório
  3. Na barra lateral esquerda, clique em Ambientes.
  4. Ao lado do ambiente que você deseja excluir, clique em .
  5. Clique em Eu entendi, exclua este ambiente.

Você também pode excluir ambientes por meio da API REST. Para obter mais informações, consulte "Ambientes."

Esse documento ajudou você?Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.