【发布时间】:2016-06-14 02:52:36
【问题描述】:
我们使用的是 TFS 服务器 2012,并在构建服务器上设置了 CI 构建。
目前,如果编译失败,则构建结果为“失败”,如果有任何单元测试失败,则构建结果为“部分成功”,否则为“成功”。
我的问题是,如果有任何构建警告,无论是编译器警告、代码分析警告、StyleCop 警告还是其他警告,我都不希望结果为“成功”。
有没有办法修改构建配置,使警告的存在导致结果为“部分成功”而不是“成功”?
【问题讨论】:
我们使用的是 TFS 服务器 2012,并在构建服务器上设置了 CI 构建。
目前,如果编译失败,则构建结果为“失败”,如果有任何单元测试失败,则构建结果为“部分成功”,否则为“成功”。
我的问题是,如果有任何构建警告,无论是编译器警告、代码分析警告、StyleCop 警告还是其他警告,我都不希望结果为“成功”。
有没有办法修改构建配置,使警告的存在导致结果为“部分成功”而不是“成功”?
【问题讨论】:
以下自定义活动将构建状态设置为PartiallySucceeded:
[BuildActivity(HostEnvironmentOption.Agent)]
public class Activity : CodeActivity
{
protected override void Execute(CodeActivityContext context)
{
IBuildDetail build = context.GetExtension<IBuildDetail>();
build.Status = BuildStatus.PartiallySucceeded;
build.Save();
}
}
其他可能的选择包括:
All 所有状态均适用。
Failed 构建失败。
InProgress 构建正在进行中。
None 无可用状态。
NotStarted 构建未开始。
PartiallySucceeded 构建部分成功。
Stopped 构建已停止。
Succeeded 构建成功。
【讨论】:
当“测试成功”属性设置为“假”且“编译成功”=“真”时,构建报告为“部分成功”。 因此,您可以添加检查这些属性的自定义活动,将此活动添加到游览新的构建模板。
【讨论】: