Pular para o conteúdo
LatchkeyLatchkey home

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.

Perguntas frequentes

What is What is artifact Retention? storing CI outputs sensibly?
Every run can emit artifacts: compiled binaries, coverage and test reports, screenshots, logs. Retention is the rule that decides how long those stick around. Set it too short and you lose debugging evidence; too long and storage bills balloon.
What an artifact is?
An artifact is any file a job uploads to be kept after the runner is destroyed. Because runners are ephemeral, anything you want to inspect later - a failing test’s screenshot, a built package, a log bundle - must be explicitly uploaded as an artifact or it vanishes with the runner.
Why retention exists?
Artifacts consume billed storage that accumulates across thousands of runs. Retention automatically deletes them after a set period so storage does not grow without bound. Providers apply a default window (often a few weeks to 90 days) that you can shorten or lengthen per artifact.
Common mistakes?
Uploading huge artifacts on every run with the default long retention is the usual cause of surprise storage bills. The opposite mistake - too-short retention - deletes the evidence you needed to debug an intermittent failure. Match the window to how reproducible and how diagnostically valuable each artifact is.

Guias relacionados