Neste tutorial, falaremos sobre regras de artefato no TeamCity. Regras de artefato são simples, mas existem algumas nuances a serem consideradas.
Neste build, ao passarmos o mouse sobre o ícone de artefato, podemos ver que existem dois artefatos sem estrutura de pastas: o arquivo de log do aplicativo e uma gravação .mp4 do Selenium.
Quando passamos para Build Configuration settings | Artifact paths, podemos ver que ambos os artefatos são provenientes de um diretório: calculator-service/artifacts/*
.
Existem diferentes opções disponíveis para especificar Caminhos de artefatos. Por exemplo,
+:**/* => target_directory
-:directory1 => target_directory
dirá ao TeamCity para publicar todos os arquivos exceto directory1
, em target_directory
.
Em nosso exemplo, estamos dizendo ao TeamCity para incluir tudo dentro do diretório calculator e, em seguida, colocá-lo em uma pasta de artefatos que cada build possui. Esta pasta pode estar armazenada no Amazon S3 ou em qualquer outro provedor de armazenamento.
Estas duas linhas são equivalentes:
Vamos especificar um caminho de artefato diferente. Em vez de incluir tudo na subpasta artifacts
, vamos dizer ao TeamCity para mover os arquivos para another_directory
. Também vamos impedir que todos os arquivos .log
sejam copiados para o armazenamento.
Como essas regras são aditivas, estamos dizendo ao TeamCity para incluir todos os arquivos e movê-los para outro diretório. Além disso, também estamos dizendo ao TeamCity para excluir os arquivos .log
.
Para finalizar, vamos adicionar outra regra:
+:calculator-service/**/application.log => hello_world/whatever.log
Com essa regra, estamos dizendo ao TeamCity para pegar o log de aplicativo application.log
de cada subdiretório **
no diretório calculator-service
e colocá-lo na pasta hello_world
. Também estamos dizendo ao TeamCity para renomear o arquivo application.log
para whatever.log
.
Depois de salvar as alterações e executar o build, podemos ver que nossos caminhos de armazenamento de artefatos foram alterados. Agora, temos diferentes pastas e subdiretórios nos quais nossos artefatos estão armazenados:
Certifique-se de conferir nossos outros tutoriais em Criando seu primeiro pipeline de build e Enviando informações de build para plataformas externas, como o Jira.
Bons builds!
Para mais informações, consulte a documentação sobre dependência de artefatos no TeamCity.
Aprenda o que é um repositório de artefatos no Guia de CI/CD do TeamCity.