如何在TeamCity中设置构建产物

9

我正在尝试在TeamCity中设置一个构建工件,但遇到了问题。以下是工件命令:

 Services\Windows\ApiRequestProcess\ApiRequestLoggerService\bin\Release\* => F:\BuildArtifacts\Services\ApiRequestLogger

这里是其中一个错误:

16:43:33]: [Publishing artifacts] Paths to publish: [Services\Windows\ApiRequestProcess\ApiRequestLoggerService\bin\Release\* => F:\BuildArtifacts\Services\ApiRequestLogger, teamcity-info.xml]
[16:43:33]: [Publishing artifacts] Sending files
[16:43:34]: Failed to upload build artifact due to error: java.io.FileNotFoundException: F:\TeamCity\.BuildServer\system\artifacts\API Request Logger Service\API Request Logger Service Build\536\F:\BuildArtifacts\Services\ApiRequestLogger\ApiRequestCore.dll (The filename, directory name, or volume label syntax is incorrect)

任何想法?
2个回答

10

你的问题是TeamCity在其数据目录中存储构建产物,因此无法指定绝对位置。您需要这个位置中的构建产物吗?如果是,则必须运行任务将它们从构建产物文件夹复制出来(有一个rest api可以帮助您下载构建产物)。

根据文档

TeamCity将构建产物存储在磁盘上的目录结构中,可以直接访问(例如,通过配置操作系统共享网络上的目录)。构建产物存储在/system/artifacts文件夹下。存储格式在TeamCity数据目录部分进行了描述。构建产物不会被归档到TeamCity中,它们会保持原样(未压缩)。


我尝试将其更改为相对路径,但仍然无法工作,没有错误,但没有复制任何内容。 - Justin
1
发布构件:发布路径:[Services\Windows\ApiRequestProcess\ApiRequestLoggerService\bin\Release* => ..............\BuildArtifacts\Services\ApiRequestLogger, teamcity-info.xml] [09:21:22]: [发布构件] 正在发送文件 - Justin
1
@Justin - 你不能这样做 - 它必须是相对于TeamCity数据目录中构建文件夹的根目录。 - redsquare
@redsquare 问题在于你可以在TeamCity 6中这样做... build/**/*=>C:\Cowantr\trunk\assemblies\ ...但在TeamCity 9中它不会抛出错误,但也不起作用。 :S - Paul Zahra

2

@redsquare 是正确的。TeamCity相对于您的构建将档案归档起来。在使用TeamCity之前,我也是按照您描述的方式进行的 ;)

真正的问题是为什么要这样做(因为您的构建已经被归档了)?我猜测...

如果您这样做是为了使其可供部署或由另一个构建使用,那么有一种替代方法... 在TeamCity中称为:依赖项/工件依赖项。您可以在另一个CI构建中消耗您的CI构建的输出... 或者在部署构建中以直截了当的方式使用。

请参见此处中我的回答以获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接