O que é um artefato
Artefato é uma saída produzida durante o desenvolvimento ou a entrega de software que pode ser armazenada e utilizada depois. Uma imagem de container, um pacote de instalação e um relatório de testes são exemplos, embora tenham finalidades diferentes.
No fluxo de publicação, o termo costuma indicar o resultado que será instalado no ambiente. Você precisa identificar qual artefato contém a aplicação e quais arquivos apenas registram as verificações feitas durante sua preparação.
A saída precisa estar associada à origem
O nome de um arquivo não informa, sozinho, como ele foi produzido. Para relacionar um pacote à alteração esperada, o processo pode registrar o commit, a execução do build e as versões das dependências utilizadas.
Essas informações ajudam a investigar uma diferença entre o código revisado e o serviço instalado. Sem essa associação, dois arquivos chamados aplicação-final podem representar construções diferentes, e escolher pelo nome ou pelo horário do download pode levar ao resultado errado.
Nome de versão e identidade do conteúdo
Uma versão ou tag facilita a comunicação, mas é preciso conferir se o armazenamento permite substituir o conteúdo associado a esse nome. No caso de imagens, atualizar uma tag mutável pode associar o mesmo nome a outra imagem, enquanto o digest identifica o conteúdo correspondente.
Compare a referência obtida no destino com aquela registrada durante a validação. Um nome igual não é suficiente quando a ferramenta permite substituí-lo, e a conferência de integridade também não prova, sozinha, que o software veio de uma origem confiável.
Relacione o relatório à versão testada
Um relatório pode mostrar quais testes falharam e ajudar a reproduzir o problema. Para ser útil, ele precisa estar associado à execução e à versão testada, sem ser confundido com o pacote que será instalado.
Também confira o conteúdo antes de disponibilizá-lo. Logs e relatórios podem conter campos recebidos durante os testes, por isso o armazenamento e as permissões precisam corresponder ao que esses arquivos expõem.
Retenção e recuperação de versões
O armazenamento pode remover artefatos depois de um prazo ou de uma limpeza. Se a recuperação depende de reinstalar a versão anterior, esse resultado precisa continuar acessível junto das informações necessárias à sua execução.
O cache do build atende a outra finalidade e pode ser descartado. Usá-lo como único lugar para recuperar uma release torna a publicação dependente de arquivos que o próprio processo pode apagar para economizar espaço.
Identidade e conteúdo do artefato recebido
Baixe o resultado pelo caminho que o ambiente usará, confira sua identidade e verifique se ele contém os arquivos esperados. Execute as verificações compatíveis com sua finalidade, pois abrir um relatório e iniciar uma aplicação comprovam coisas diferentes.
O deploy deve registrar qual resultado foi instalado para permitir comparação posterior. Para revisar a preparação e o uso desses pacotes com acompanhamento ao vivo, o Desenvolvimento Colaborativo da Dev Side Studio pode atender uma tarefa delimitada do seu processo de publicação.
Dúvidas frequentes
Perguntas frequentes sobre Artefato
- Todo artefato pode ser instalado?
- Não. Um relatório de testes também pode ser um artefato, mas serve para análise. O formato e a finalidade determinam se o resultado será usado no deploy.
- Uma tag garante que o conteúdo nunca mudou?
- Não necessariamente. Alguns armazenamentos permitem alterar a associação de uma tag. O digest da imagem permite comparar a referência registrada nos testes com a selecionada no deploy.
- Artefato e cache são equivalentes?
- Não. O artefato preserva uma saída que será consultada ou distribuída. O cache evita repetir parte do trabalho de preparação e não deve ser a única forma de recuperar uma versão publicada.
- O artefato fica guardado para sempre?
- Depende da política do armazenamento. Retenção, remoção e permissões precisam permitir recuperar as versões necessárias, inclusive quando houver previsão de voltar à versão anterior.
Para continuar
Recursos relacionados
Documentação
GitHub: armazenamento de artefatos
Arquivos de build e testes, compartilhamento e retenção.
Abrir recursoDocumentação
Docker: práticas de construção
Identificação de imagens e controle das versões usadas na construção.
Abrir recursoAplicação na formação
Formação DevOps
Artefatos preservam resultados do desenvolvimento, como imagens para deploy e relatórios das verificações executadas.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.