Team City 7.0 - 如何配置依赖于共享编译库的构建?

时间:2012-08-09 14:26:45

标签: teamcity teamcity-7.0

这是我第一次尝试在Team City中设置构建配置。

在Subversion中,所有第三方二进制文件都存储在名为Applications的单独存储库中,因为它是共享的。

所以在我的本地机器上路径是

D:\Dev\SolutionRoot\WebProjectRoot

中引用了二进制文件
D:\Dev\Applications

在Team City中,我有两个构建配置(一个用于构建项目(.sln),另一个用于检查第三方二进制文件)。

对于Web项目构建配置,我添加了一个依赖于“获取第三方二进制文件”的工件依赖项,获取“上次成功构建”和工件规则中的工件:

/*/.=>Applications

构建无法尝试解决工件依赖关系。

Build 'Furniture :: Build' #528 
Started 'Thu Aug 09 15:13:50 BST 2012' on 'machine name' by 'Ryan'
Finished 'Thu Aug 09 15:14:09 BST 2012' with status 'FAILURE Artifacts resolving failed'
TeamCity URL http://localhost:8111/viewLog.html?buildId=14&buildTypeId=bt2 
TeamCity server version is 7.1 (build 23907)

[15:13:50]: bt2 (18s)
[15:13:50]: Checking for changes (running for 4m:57s)
[15:13:50]: Publishing internal artifacts
[15:13:50]:  [Publishing internal artifacts] Sending build.start.properties.gz file
[15:13:50]: Clearing temporary directory: C:\TeamCity\buildAgent\temp\buildTmp
[15:13:50]: Clean build enabled: removing old files from C:\TeamCity\buildAgent\work\a3a48aff6a8b3347
[15:13:50]: Checkout directory: C:\TeamCity\buildAgent\work\a3a48aff6a8b3347
[15:13:50]: Updating sources: agent side checkout (18s)
[15:13:50]:  [Updating sources] Will perform clean checkout. Reason: Checkout directory is empty or doesn't exist (running for 4m:56s)
[15:13:50]:  [Updating sources] Cleaning C:\TeamCity\buildAgent\work\a3a48aff6a8b3347
[15:13:50]:  [Updating sources] VCS Root: Furniture (18s)
[15:13:50]:      [VCS Root: Furniture] revision: 528_2012/08/09 12:00:34 +0100
[15:14:09]: Resolving artifact dependencies
[15:14:09]:  [Resolving artifact dependencies] Failed to resolve artifact dependency <Furniture :: Get Third Party Binaries, build #2 [id 10]>: No files matched for patterns "/*/.=>Applications" from <Furniture :: Get Third Party Binaries, build #2 [id 10]> (jetbrains.buildServer.artifacts.ResolvingFailedException)
[15:14:09]:  [Resolving artifact dependencies] Failed to resolve 1 of 1 artifact dependencies
[15:14:09]: Failed to resolve 1 of 1 artifact dependencies
[15:14:09]: Publishing internal artifacts
[15:14:09]:  [Publishing internal artifacts] Sending build.finish.properties.gz file
[15:14:09]: Build failed to start. Artifacts will not be published for this build
[15:14:09]: Build finished

我是否正确完成了这项工作?

1 个答案:

答案 0 :(得分:0)

我在您的设置中看到了几个问题。

首先要在源配置中引入工件依赖,你应该publish those artifacts(在你的情况下 - 配置,检查第三方库)。

然后,您不应该实际使用工件依赖关系来检查短信。 TeamCity支持attaching of several VCS roots配置。

因此,在您的情况下,您可以进行单个配置,其中包含两个根:root与您的源,root与libs。您也可以使用checkout rules来构建所需的任何checkout directory结构。