【问题标题】:Build Workspace mapping构建工作区映射
【发布时间】:2015-03-19 07:03:06
【问题描述】:

我在同一位置有两个解决方案设置。这两个解决方案共享一些项目以及一些专用项目。

我已经创建了两个带有门控签入触发器的单独构建定义,但问题是当我在一个解决方案中进行任何更改时,它都会触发两个构建定义。

我可以根据我正在签入的解决方案以某种方式控制构建定义的触发吗?

【问题讨论】:

    标签: deployment continuous-integration tfsbuild alm


    【解决方案1】:

    您需要正确配置工作区才能使其正常工作。构建定义的映射工作区中的任何更改都将导致构建触发。因此,它完全取决于您的源代码控制布局,是否可以设置仅在属于任一解决方案的某些更改时触发的构建。

    这种设置很快就会变得非常难以管理,因此我建议您将每组项目放在它们自己的子文件夹中,这样会更容易很多

    因此,请确保您的构建定义不会同时触发,打开构建定义的“源设置”面板并通过更改第一列中的“活动”将 cloak 规则应用于每个文件或文件夹“隐身”。

    要隐藏文件,您需要在 TFS 中输入其完整路径,UI 只会为您提供文件夹选择器,但输入文件路径即可。

    这些文件应该:

    • 不需要构建解决方案
    • 并且更改不应触发构建。

    请注意,cloak 会导致 Team Build 无法在 Build 代理上获取这些文件,因此不可能有您的构建所依赖的文件,但在这些文件更改时不会触发构建。

    【讨论】:

    • 感谢分享。我更关心两个解决方案之间共享的一些项目。在这种情况下,对此项目所做的任何更改都将触发两个构建。有什么办法可以避免这种情况吗?
    • 您现在已经知道答案了。不,这是不可能的。这些属于最后一个音符类别。在这种情况下,您需要使用 3 个解决方案并设置一个类似 nuget 存储库的东西来共享工件。
    【解决方案2】:

    您应该为每个项目而不是每个解决方案创建门控签入构建定义。

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 2014-06-16
      • 2015-06-20
      • 2023-04-03
      • 2018-11-21
      • 2013-05-13
      • 2013-03-24
      • 2017-11-18
      • 2013-10-28
      相关资源
      最近更新 更多