Skip to content
Latchkey

O Que É Retenção de Artifacts? Armazenar Saídas de CI com Bom Senso

Retenção de artifacts é a política de por quanto tempo o CI mantém os arquivos que um build produz - binários, relatórios de teste, logs - antes de excluí-los automaticamente para controlar o custo de armazenamento.

Cada execução pode emitir artifacts: binários compilados, relatórios de coverage e de teste, screenshots, logs. A retenção é a regra que decide por quanto tempo eles permanecem. Defina-a curta demais e você perde evidências de depuração; longa demais e as contas de armazenamento disparam.

O que é um artifact

Um artifact é qualquer arquivo que um job envia para ser mantido depois que o runner é destruído. Como os runners são efêmeros, qualquer coisa que você queira inspecionar depois - o screenshot de um teste que falhou, um pacote buildado, um bundle de logs - precisa ser explicitamente enviada como artifact ou desaparece junto com o runner.

Por que a retenção existe

Artifacts consomem armazenamento faturado que se acumula ao longo de milhares de execuções. A retenção os exclui automaticamente após um período definido para que o armazenamento não cresça sem limite. Os provedores aplicam uma janela padrão (muitas vezes de algumas semanas a 90 dias) que você pode encurtar ou alongar por artifact.

Escolhendo uma política

  • Retenção curta para grandes saídas de build reproduzíveis que você pode reconstruir.
  • Retenção mais longa para relatórios de teste e logs que você pode precisar para depurar regressões.
  • Janelas separadas por artifact em vez de uma única configuração geral.
  • Artifacts de release muitas vezes pertencem a um registry de verdade, não ao armazenamento de artifacts do CI.

Erros comuns

Enviar artifacts enormes em cada execução com a retenção longa padrão é a causa usual de contas de armazenamento surpresa. O erro oposto - retenção curta demais - exclui a evidência de que você precisava para depurar uma falha intermitente. Ajuste a janela ao quão reproduzível e quão valioso diagnosticamente é cada artifact.

Principais conclusões

  • A retenção define por quanto tempo o CI mantém os artifacts enviados antes de excluí-los.
  • Runners efêmeros significam que qualquer coisa que você queira depois precisa ser enviada como artifact.
  • Ajuste as janelas por artifact: curtas para saídas reconstruíveis, mais longas para evidências de depuração.
  • Retenção longa em grandes artifacts por execução é uma das principais causas de surpresas na conta de armazenamento.

Guias relacionados