如何在teamcity中设置构建工件

时间:2011-01-06 21:48:50

标签: teamcity

我正在尝试在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 个答案:

答案 0 :(得分:7)

您的问题是TeamCity将工件存储在其数据目录中,因此您无法指定绝对位置。你需要那个位置的工件吗?如果是这样,你将不得不运行一个任务来从artifacts文件夹中复制它们(有一个rest api来帮助你下载工件)

来自docs

  

TeamCity将工件存储在磁盘上   可以的目录结构   直接访问(例如,通过   将操作系统配置为   通过网络共享目录)。   工件存储在   / system / artifacts文件夹。   存储格式如下所述   TeamCity数据目录部分。建立   工件未在TeamCity中存档   保持原样(未压缩)。

答案 1 :(得分:1)

@redquare是正确的。 TeamCity正在归档与您的构建相关的工件。在TeamCity之前,我也按照你描述的方式做到了;)

真正的问题是你为什么要这样做(因为你的构建已经存档)?我猜对了......

如果您正在进行部署或其他构建的可访问性,那么还有另一种选择......在TeamCity中说:依赖关系/工件依赖关系。您可以在另一个CI构建中使用CI构建的输出,或者以直接的方式使用部署构建。

有关详细信息,请参阅我的回答here