在本教程中,我们将讨论 TeamCity 中的工件规则。 工件规则并不复杂,但有一些细节处需要考量。
在这个构建中,将鼠标悬停在工件图标上时,可以看到有两个没有文件夹结构的工件:应用程序日志文件和 Selenium .mp4 录像。
转到 Build Configuration settings | Artifact paths(构建配置设置 | 工件路径),可以看到两个工件都来自一个目录:calculator-service/artifacts/*
。
可以使用不同的选项指定工件路径。 例如,
+:**/* => target_directory
-:directory1 => target_directory
将告诉 TeamCity 将除 directory1
之外的所有文件发布到 target_directory
中。
在示例中,我们告诉 TeamCity 将计算器目录中的所有内容包含在内,然后将其放入每个构建都有的工件文件夹中。 这个文件夹可能位于 Amazon S3 或其他存储空间服务中。
这两行相同:
我们来指定一个不同的工件路径。 我们会告诉 TeamCity 将文件移动到 another_directory
,而不是包含 artifacts
子文件夹中的所有内容。 我们还将排除每个 .log
文件,使其不会被复制到存储空间中。
由于这些规则是额外的,我们告诉 TeamCity 包含每个文件并将其移动到另一个目录。 此外,我们还告诉 TeamCity 排除 .log
文件。
最后,我们再添加一条规则:
+:calculator-service/**/application.log => hello_world/whatever.log
通过这条规则,我们告诉 TeamCity 从 calculator-service
目录中的每个子目录 **
中获取应用程序日志 application.log
,并将其放入 hello_world
文件夹中。 我们还告诉 TeamCity 将 application.log
文件重命名为 whatever.log
。
保存更改并运行构建后,可以看到工件存储路径已经更改。 我们现在拥有不同的文件夹和子目录来存储工件:
请务必查看我们的其他教程,了解如何创建您的第一个构建管道以及将构建信息发送到 Jira 等外部平台。
构建快乐!
有关详情,请参阅我们的 TeamCity 工件依赖项文档。
在 TeamCity CI/CD 指南中了解什么是工件仓库。