Team City 7.0 - 如何配置依赖于共享编译库的生成



这是我第一次尝试在团队城市中设置构建配置。

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

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

D:DevSolutionRootWebProjectRoot

其中引用了二进制文件

D:DevApplications

在团队城市中,我有两个生成配置(一个用于生成项目 (.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:TeamCitybuildAgenttempbuildTmp
[15:13:50]: Clean build enabled: removing old files from C:TeamCitybuildAgentworka3a48aff6a8b3347
[15:13:50]: Checkout directory: C:TeamCitybuildAgentworka3a48aff6a8b3347
[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:TeamCitybuildAgentworka3a48aff6a8b3347
[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

我做对了吗?

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

首先,要引入工件依赖关系,您应该在源配置中发布这些工件(在您的情况下 - config,它签出第三方库)。

然后,您实际上不应该使用工件依赖项来签出短信。TeamCity 支持将多个 VCS 根附加到配置。

因此,在您的情况下,您可以附加两个根的单个配置:根与源,根与库。您也可以使用结帐规则来形成所需的任何签出目录结构。

最新更新