如何使用工件规则

在本教程中,我们将讨论 TeamCity 中的工件规则。 工件规则并不复杂,但有一些细节处需要考量。

在这个构建中,将鼠标悬停在工件图标上时,可以看到有两个没有文件夹结构的工件:应用程序日志文件和 Selenium .mp4 录像。

tutorials-img

转到 Build Configuration settings | Artifact paths(构建配置设置 | 工件路径),可以看到两个工件都来自一个目录:calculator-service/artifacts/*

tutorials-img

可以使用不同的选项指定工件路径。 例如,

+:**/* => target_directory

-:directory1 => target_directory

将告诉 TeamCity 将除 directory1 之外的所有文件发布到 target_directory 中。

在示例中,我们告诉 TeamCity 将计算器目录中的所有内容包含在内,然后将其放入每个构建都有的工件文件夹中。 这个文件夹可能位于 Amazon S3 或其他存储空间服务中。

这两行相同:

tutorials-img

我们来指定一个不同的工件路径。 我们会告诉 TeamCity 将文件移动到 another_directory,而不是包含 artifacts 子文件夹中的所有内容。 我们还将排除每个 .log 文件,使其不会被复制到存储空间中。

tutorials-img

由于这些规则是额外的,我们告诉 TeamCity 包含每个文件并将其移动到另一个目录。 此外,我们还告诉 TeamCity 排除 .log 文件。

最后,我们再添加一条规则:

+:calculator-service/**/application.log => hello_world/whatever.log

tutorials-img

通过这条规则,我们告诉 TeamCity 从 calculator-service 目录中的每个子目录 ** 中获取应用程序日志 application.log,并将其放入 hello_world 文件夹中。 我们还告诉 TeamCity 将 application.log 文件重命名为 whatever.log

保存更改并运行构建后,可以看到工件存储路径已经更改。 我们现在拥有不同的文件夹和子目录来存储工件:

tutorials-img

请务必查看我们的其他教程,了解如何创建您的第一个构建管道以及将构建信息发送到 Jira 等外部平台。

构建快乐!

有关详情,请参阅我们的 TeamCity 工件依赖项文档

在 TeamCity CI/CD 指南中了解什么是工件仓库