c# - CheckInGatedChanges 构建工作流中的事件位置

标签 c# .net .net-4.0 tfsbuild

默认构建模板具有 CheckInGatedChanges 事件(“ checkin 门控更改”)在 AgentScope 事件(“在代理上运行”)之外运行。

这是有原因的吗?或者更确切地说,是否可以将 CheckInGatedChanges 事件移至 AgentScope 流程的末尾(序列末尾)?

我的 猜测 是 Microsoft 不希望代理本身 checkin 更改,而是 Controller 。我不确定,因为我不知道他们拥有的 Controller -代理模型的内部工作原理。

我问的原因是因为我需要在 checkin 更改后运行一个事件,这目前正在强制执行我使用 AgentScope 事件的另一个实例。我宁愿将它们全部放在第一个 AgentScope 事件中,而不使用额外的资源。

最佳答案

CheckInGatedChanges 在模板中的当前位置确保如果您向模板添加额外的事件,它们不会在更改提交到服务器后意外运行。此外,它允许并行代理执行。例如,如果您想将构建并行化到多个代理以进行缩放,则需要在所有构建代理工作流完成后进行 checkin 。

这些是我能想到的原因。我认为这是安全的,如果您知道您不需要收敛点来 checkin 您的更改,将 CheckInGatedChanges 事件移动到 AgentScope 中,这样您就不必生成另一个 AgentScope 来完成您的自定义工作。我认为我们不会限制此事件的范围。

关于c# - CheckInGatedChanges 构建工作流中的事件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126323/

相关文章:

c# - Entity Framework 绕过 QueryFilter/SoftDelete

javascript - 网站未通过 bundle 加载 jQuery

.net - 事件vb.net,怎么用?

c# - 对象数组的匿名类型?

c#-4.0 - 非静态委托(delegate)的 DoCallBack CrossAppDomainDelegate 行为

c# - SignalR 无法在网站中工作,但可以在 Web 应用程序中工作

c# - Nant 在 GAC 中找不到程序集

c# - 按特定顺序排序的列表

c# - 为什么 C# 不需要命名空间或完整命名空间(完全限定名称)?

linux - Linux 上用于 Dotnet4 服务的 mono-service2