gpt4 book ai didi

visual-studio-2008 - 关于我们刚刚起步的 TeamCity/MSBuild 设置的后续步骤的建议

转载 作者:行者123 更新时间:2023-12-04 05:42:27 24 4
gpt4 key购买 nike

我们现在已经使用 TeamCity (6.5) 和 MSBuild 进行了合理的早期设置.. 到目前为止,只有一种解决方案以这种方式构建,直到我们在复制之前按我们想要的方式工作,所以..
基本上:

  • 一个由两个构建调用的解决方案 – 一个 CI Build on check-in to check
    构建没有损坏,并且测试构建为
    测试。
  • 程序集版本号来自单个 VersionInfo.cs
    文件(这是个好主意吗?),它是解决方案中所有项目中的链接文件。这个
    方法在这里详细说明:
    http://www.codeproject.com/Articles/328977/The-Right-Way-to-Version-Your-Assemblies
  • 两个构建的构建步骤目前只着眼于解决方案
    文件,使用 MSBuild 作为构建运行器

  • 我接下来想做什么:
  • 版本号为 Major.Minor.Release.Build Number。因此,我需要将最后一项设置为 TeamCity 内部版本号
  • 仅在测试版本中:将工件复制到一个单独的位置,并创建一个以版本号名称
  • 创建的文件夹。

    所以,最后的问题..我需要
  • 使用预构建步骤创建一个单独的构建项目,以修改 VersionInfo.cs AssemblyFileVersion 以反射(reflect)构建号
  • 在新的构建项目中创建一个构建后步骤,用于将工件复制到单独目录中的新目录中?

  • 我正在努力解决的问题是,当两个构建都使用相同的解决方案文件时,CI 构建如何不会选择这些项目,以及我是否应该创建一个新的构建文件。如果是这样,我是否将现有的解决方案文件保持原样?

    你可能会说我有点困惑......非常感谢。

    最佳答案

    您不需要创建另一个构建配置来修改版本号。

    TeamCity 已推出 AssemblyInfo Patcher build feature可以在您现有的 CI 构建配置中使用。它将消除对自己进行任何程序集信息版本控制的需要,因为它在执行构建之前将当前构建版本(在 TC 中为该构建配置定义)应用于 check out 目录中的所有 AssemblyInfo.cs 文件。您对单个共享 VersionInfo.cs 文件所做的事情并不是坏事,只是在这种情况下是不必要的(当然,除非您使用它来共享其他 AssemblyInfo 信息,例如公司、商标、版权等)。

    用于存储工件的几个选项。

  • 您可以从 TeamCity data directory 检索构建工件.要复制到此目录的工件在每个构建配置的常规设置页面上定义。见 Build Artifact page了解更多信息。
  • 创建一个运行自定义脚本(msbuild、nant、cmd 行等)的构建步骤,以根据您的要求进行复制。
  • 我倾向于选择的另一个选项是将工件推回到源代码控制中,在那里它们可以由其他构建直接 check out 。

  • (所有链接均指向 TeamCity 6.5.x 文档)

    你不需要两个构建配置来实现你正在做的事情;您可以使用具有多个构建步骤的一个。将解决方案构建和工件集合分解为两个单独的配置似乎并不合乎逻辑。

    关于visual-studio-2008 - 关于我们刚刚起步的 TeamCity/MSBuild 设置的后续步骤的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11116159/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com