【发布时间】:2014-06-09 18:25:17
【问题描述】:
Microsoft TFS 构建默认将上次成功构建后的所有变更集分配到“关联变更集”中。有没有办法手动完成?
我想要实现的是搜索将“构建质量”设置为已发布的最后一个构建。
因此,每个构建都会在最新的“已发布”构建之后关联所有变更集。
有可能吗?
【问题讨论】:
Microsoft TFS 构建默认将上次成功构建后的所有变更集分配到“关联变更集”中。有没有办法手动完成?
我想要实现的是搜索将“构建质量”设置为已发布的最后一个构建。
因此,每个构建都会在最新的“已发布”构建之后关联所有变更集。
有可能吗?
【问题讨论】:
如果您使用的是 TFS 2012,则构建工作流具有“Microsoft.TeamFoundation.Build.Workflow.Activities.AssociateChangesetsandWorkItems”类型的“关联变更集和工作项”活动,该活动获取所有变更集并将其与构建关联。
如果您想更改它,您需要将此活动替换为您的自定义工作流程步骤。我会将“查找变更集”部分留给您,但以下活动将允许您将变更集与您的构建相关联
namespace ContractLibrary
{
using Microsoft.TeamFoundation.Build.Workflow.Activities;
using Microsoft.TeamFoundation.Build.Workflow.Tracking;
using System;
using System.Activities;
public class WriteAssociatedChangesets : CodeActivity
{
protected override void Execute(CodeActivityContext context)
{
if (context == null)
{
return;
}
this.WriteBuildInformation(context);
}
private void WriteBuildInformation(CodeActivityContext context)
{
var buildInformation = new WriteBuildInformation<AssociatedChangeset>()
{
Value = new AssociatedChangeset() { ChangesetId = 17997 /*Your ChangsetsID*/ }
};
context.Track(buildInformation);
}
}
}
post 对于了解如何编写构建信息非常有用。
【讨论】: