Como trabalhar com regras de artefato

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.

tutorials-img

Quando passamos para Build Configuration settings | Artifact paths, podemos ver que ambos os artefatos são provenientes de um diretório: calculator-service/artifacts/*.

tutorials-img

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:

tutorials-img

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.

tutorials-img

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

tutorials-img

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:

tutorials-img

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.