在TeamCity artfacts中包含生成的文件

时间:2013-12-10 17:10:13

标签: c# artifacts teamcity-8.0

我正在使用TeamCity进行CI。我的一些单元测试在运行时生成文件(基于Selenium的测试失败时的浏览器屏幕截图),这些文件放在Environment.CurrentDirectory中,例如

C:\Program Files (x86)\TeamCity\buildAgent\temp\buildTmp\SYSTEM_servername 2013-12-10 18_05_14\Out

我希望将这些文件包含为TeamCity artifacts,但这似乎不可能TeamCity根据结帐目录查找工件。

一种解决方法是将生成的文件保存到硬编码路径(例如 C:\ temp ),但这并不理想。有更清洁的选择吗?

1 个答案:

答案 0 :(得分:2)

在TeamCity中,您可以找到一些指向某些路径的参数。
如果您能找到对您有用的其中一个,那么您可以在工件路径中使用该参数 (在“参数”选项卡中查找任何“构建结果”日志中的参数)

例如,我找到了一个指向的参数:
" d:\ BuildAgent \ TEMP \ buildTmp " 这叫做: system.teamcity.build.tempDir

然后我在神器路径上使用它,但有一些调整:
%system.teamcity.build.tempDir%\ ** \ Out \ errorScreenshots \ * => errorScreenshots


让我为你推卸这条道路:
" %system.teamcity.build.tempDir%":此参数转到文件夹" D:\ BuildAgent \ temp \ buildTmp"。

" \ ** ":输入一个我无法知道的名字的文件夹,在我看来是这样的" srv_teamcity_TEAMCITY-3 2017-06 -22 19_35_18"日期和时间不断变化。

" \ Out ":然后输入" Out"文件夹。

" \ errorScreenshots ":然后输入" errorScreenshots"夹。我创建了这个文件夹,以便在出现错误时将一些屏幕截图放在那里。

" \ * ":带来任何类型的文件,对我来说只有" .png"文件。


" => errorScreenshots ":这告诉TeamCity在Artifacts视图中创建一个文件夹,如果你显示了很多工件,它是必要的。过去常常把事情弄清楚。

希望您觉得此回复有用。

干杯!