Remover artefatos, criar selos de status e configurar proteções de ambiente

Concluído

Nesta unidade, você aprenderá a remover artefatos de fluxo de trabalho do GitHub e alterar o período de retenção padrão. Em seguida, você aprenderá a criar um selo de status de fluxo de trabalho e adicioná-lo ao seu README.md arquivo. Por fim, você identifica algumas proteções de ambiente de fluxo de trabalho importantes e aprende a habilitá-las.

Remover artefatos de fluxo de trabalho do GitHub

Por padrão, o GitHub armazena todos os logs de build e artefatos carregados por 90 dias antes de excluí-los. Você pode personalizar esse período de retenção de acordo com o tipo de repositório e os limites de uso definidos para o produto específico do GitHub. Há muito mais informações sobre limites de uso e retenção de artefatos nos limites de uso, cobrança e administração.

Mas suponha que você atingiu o limite de armazenamento da sua organização para artefatos e pacotes do GitHub. Você quer remover artefatos antigos sem aumentar seus limites de uso e bloquear seus fluxos de trabalho. Para recuperar o armazenamento usado no GitHub Actions, você pode excluir artefatos antes de eles expirarem no GitHub. Há duas maneiras de fazer isso, conforme descrito nas seções a seguir. Ambos os métodos exigem acesso de gravação ao repositório.

Aviso

Lembre-se de que, após excluir um artefato, não é possível restaurá-lo.

Excluir manualmente artefatos do repositório

Para excluir manualmente um artefato no GitHub, navegue até a guia Ações , selecione o fluxo de trabalho na barra lateral esquerda e selecione a execução que você deseja ver.

Captura de tela que mostra uma execução de fluxo de trabalho de exemplo no GitHub.

Em Artefatos, exclua o artefato que você deseja remover.

Captura de tela que mostra o ícone de lixeira para excluir um artefato no GitHub.

Também é possível usar a API REST de Artefatos para exclui-los. Essa API também permite que você baixe e recupere informações sobre artefatos de trabalho.

Alterar o período de retenção padrão

Você pode alterar o artefato padrão e o período de retenção de log do repositório, organização ou conta empresarial. Lembre-se de que a alteração do período de retenção só se aplica a novos artefatos e arquivos de log. Isso não se aplica a objetos existentes. O processo para definir essas configurações é um pouco diferente para um repositório, organização ou empresa. Leia o resumo no final deste módulo para obter mais informações sobre como configurar artefatos e retenções de log.

Além das configurações definidas em um repositório, organização ou empresa, você pode definir um período de retenção personalizado para artefatos individuais diretamente no arquivo de fluxo de trabalho. Essa prática é boa para casos de uso individuais em que você quer que a retenção de um artefato específico seja diferente da configuração padrão ou configurada. Você pode fazer isso usando um valor retention-days dentro da etapa com a ação upload-artifact.

O exemplo a seguir carrega um artefato que persiste por dez dias em vez dos 90 dias padrão:

- name: 'Upload Artifact'
  uses: actions/upload-artifact@v2
  with:
    name: my-artifact
    path: my_file.txt
    retention-days: 10

Adicionar um selo de status de fluxo de trabalho ao repositório

É útil saber o status de um fluxo de trabalho sem precisar visitar a guia Ações para ver se ele foi concluído com êxito. Ao adicionar selos de status de fluxo de trabalho ao arquivo README.md do repositório, você pode ver num piscar de olhos se os fluxos de trabalho estão sendo aprovados ou reprovados. Embora seja comum adicionar um selo de status a um arquivo README.md do repositório, também é possível adicioná-lo a qualquer página da Web. Por padrão, os selos de status exibem os status de fluxo de trabalho no branch padrão, mas você também pode exibir selos de status de fluxo de trabalho em outros branches com os parâmetros branch e event.

Veja um exemplo do que você precisa adicionar a um arquivo para ver um selo de status do fluxo de trabalho:

![example branch parameter.](https://github.com/mona/special-octo-eureka/actions/workflows/grading.yml/badge.svg?branch=my-workflow)

Por exemplo, adicionar o parâmetro branch junto com o nome do branch desejado no final da URL mostra o emblema de status do fluxo de trabalho para esse branch em vez do branch padrão. Essa prática facilita a criação de uma exibição semelhante a uma tabela em seu arquivo README.md para exibir os status do fluxo de trabalho com base em branches, eventos, serviços ou ambientes, por exemplo.

Captura de tela que mostra um exemplo de selo de status do fluxo de trabalho com o branch my-workflow.

Você também pode criar um selo de status usando o GitHub. Navegue até a seção fluxos de trabalho na guia Ações e selecione um fluxo de trabalho específico. A opção Criar selo de status permite que você gere o markdown para esse fluxo de trabalho e defina os parâmetros branch e event.

Captura de tela que mostra a opção de criar um selo de status na seção fluxos de trabalho no GitHub.

Adicionar proteções de ambiente de fluxo de trabalho

Segurança é um assunto sério. Por isso, faz sentido configurar o ambiente de fluxo de trabalho com regras de proteção e segredos. Com esses elementos em vigor, um trabalho não inicia nem acessa nenhum segredo definido no ambiente até que todas as regras de proteção do ambiente sejam aprovadas. No momento, as regras de proteção e os segredos de ambiente se aplicam somente a repositórios públicos.

Há duas regras de proteção do ambiente que você pode aplicar a fluxos de trabalho em repositórios públicos, revisores necessários e temporizador de espera.

  • Os revisores necessários permitem que você defina uma pessoa ou equipe específica para aprovar trabalhos de fluxo de trabalho que fazem referência ao ambiente do trabalho.
  • Você pode usar o temporizador de espera para atrasar um trabalho por um período específico após o trabalho ter sido disparado.

Suponha que você precise criar um fluxo de trabalho para um ambiente de produção que uma equipe de desenvolvimento precisa aprovar antes que a implantação ocorra. Use as seguintes etapas:

  1. Crie um ambiente de produção no repositório.
  2. Configure a proteção do ambiente dos revisores necessários para exigir uma aprovação da equipe de desenvolvimento específica.
  3. Configure o trabalho no fluxo de trabalho para procurar o ambiente de produção.

Você pode criar e configurar novos ambientes de repositório na guia Configurações do repositório em Ambientes.