1

在 teamcity 6.5 中创建工件时遇到实际问题(使用 TFS 和 MSBuild 作为 buildrunner,如果它有任何可能性,它可能会像我发现的任何示例一样使用 SVN ......)。

只要我不输入结帐规则,构建就可以工作。如果我理解它,我需要设置一些工件,它们本身依赖于结帐规则(?)。

除了启动方式之外,我有两个相同的构建。一项在登记入住时启动 一项从 TC 内手动启动。此构建是测试构建

程序集版本号来自单个 versioninfo.cs 文件,该文件是解决方案中所有项目的链接文件。此方法在此处详细说明:http: //www.codeproject.com/Articles/328977/The-Right-Way-to-Version-Your-Assemblies并因此保存版本号:[assembly: AssemblyFileVersion("9.1.0.0" )]

最终,我无法将测试版本的输出复制到另一个位置。就目前而言,构建的唯一输出是在 teamcity 数据目录中,例如:C:\TeamCity\buildAgent\work\ceaaf65dc87ff856\Project1\bin\Debug C:\TeamCity\buildAgent\work\ceaaf65dc87ff856\Project2\bin \调试等

我想将输出文件(exes 和 DLLs)复制到一个输出文件夹,其中包含构建的内部版本号为了参数,假设上面的版本号,这将是 c:\BuildServer_Output\SolutionName \9.1.0.0

目前,我无法创建实际执行任何操作的工件路径 - 即在任何地方复制任何内容。例如,我有一些工件路径,但没有任何东西被放入 C:\BuildServer_TestBuilds - +:Accounts\bin\debug* => C:\BuildServer_TestBuilds +:BackOffice\bin\debug* => C:\BuildServer_TestBuilds

因为我没有结帐规则,我是否没有得到任何工件(因此我的工件路径被忽略)?

任何帮助,将不胜感激。

4

1 回答 1

1

我很确定工件和结帐规则是完全独立的。Artifacts 只处理已构建的内容。签出规则告诉 teamcity 如何响应和签出 VCS 中的更改。

看起来您的工件路径以绝对路径开头。我一直发现使用通配符的相对路径更容易。这样我就不用担心 teamcity 把构建放在哪里了。我们使用以下方法将所有 dll 和 exe 放到一个文件夹中

**\bin\Debug\*.*=>deploymentdir

我们的构建配置页面有一个工件链接,当我们打开它时,它会有类似的东西

deploymentdir\common\bin\debug\common.dll
deploymentdir\common\bin\debug\common.pdb
deploymentdir\runner\bin\debug\runner.exe

在我们的其他构建之一中,我们使用 msbuild 脚本在将其放入工件过程之前将其展平。

我们确实使用了结帐规则,但我们不必更改我们的工件路径来适应它们。

于 2012-06-18T14:06:49.440 回答