【问题标题】:Creating zipped artefacts and versioning with TeamCity使用 TeamCity 创建压缩文件和版本控制
【发布时间】:2013-12-06 18:31:50
【问题描述】:

我正在使用 TFS 2010 和 TeamCity 8。它是一个点网解决方案。

我需要三样东西。

1- 程序集应该像这样验证:4.3.[tfs revision number].[counter]

(即程序集文件版本和程序集产品版本。)

2- 解决方案结构如下所示:

    Root folder -> solution.sln
    Root folder -> proj1 -> proj1.proj
    Root folder -> proj2 -> proj2.prj
    Root folder -> several other projects

请注意 proj1 是一个 asp.net Web 应用程序,proj2 是一个 wcf 服务。

我想在服务器上创建两个压缩文件\\myserver\teamcityartefact\proj1.zip\\myserver\teamcityartefact\proj2.zip

3- 我还想确保使用发布配置来构建工件。

您有什么详尽的演练可以推荐吗?

设置: 构建步骤设置为: 运行器类型:Visual Studio (sln)。解决方案文件路径:solution.sln。 Visual Studio:Microsoft Visual Studio 2013。目标:清理;重建;发布;配置:发布。


到目前为止我尝试了什么:

一个。工件路径:*.* => \\myserver\teamcityartefact\proj1.zip

但这会在 zip 文件中创建四个文件。 solution.sln、solution.sln.metaproj、solution.sln.metaproj.tmp 和 solution.vssscc。

b.工件路径:proj1\**\*.* => projAproj2\**\*.* => projB 将项目中的所有文件返回给我。这些不是预编译的发布文件。 构建步骤设置为: 运行器类型:Visual Studio (sln)。解决方案文件路径:solution.sln。 Visual Studio:Microsoft Visual Studio 2013。目标:清理;重建;发布;配置:发布。

c。 proj1**\bin***.* => projA.zip 返回 bin 文件夹的内容。它是一个 asp.net 应用程序。

d。我确信发布配置没有被使用,因为 webconfig 没有被转换。

e.此时bin文件夹中的程序集的内部版本号格式为1.0.0.0。

【问题讨论】:

  • 您能否更具体地说明为什么选择 b。是不是很满足?你怎么不确定使用的是Release配置?
  • 感谢@Snorre 的评论。虽然我得到了所有文件,但它们没有预编译。例如,所有 .cs 文件(源文件)都在人工制品中。我想要已发布的版本(即只有页面的 dll 和 .aspx 文件)。
  • 并且... 没有使用发布配置,因为 webconfigs 没有被转换。

标签: tfs teamcity


【解决方案1】:

在步骤 b,您需要进一步过滤文件,因为您正在获取项目根目录下的所有内容。

最简单的方法是定位你的 bin 文件夹,所以也许...

proj1\**\bin\**\*.* => projA.zip

另一种方法是在构建配置的末尾添加一个新的自定义命令构建步骤,用于处理压缩文件并将它们放在构建目录的顶部。

然后,您只需在 Artifacts 字段中指定 zip 名称,即可从 Team City 下载它。或者,在您的自定义命令中,继续将压缩的工件部署到您的网络共享。

【讨论】:

  • 谢谢@Damon。一个项目是 asp.net Web 应用程序,另一个项目是 wcf 服务。我现在更新了问题。
  • proj1\**\bin\**\*.* => projA.zip 非常有用。我可以将您的解决方案用于解决方案中的其他项目(如 Windows 服务项目)。谢谢。
猜你喜欢
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 2010-11-29
  • 2010-11-01
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
相关资源
最近更新 更多