13
我使用团队基础构建,但我们尚未使用TFS的问题跟踪,所以我想禁用失败的构建工作项目的创建。有没有办法做到这一点?我试着注释掉为构建类型TFSBuild.proj文件中的工作项目信息,但没有做的伎俩。如何在Team Foundation Build失败结束时禁用工作项目创建?
我使用团队基础构建,但我们尚未使用TFS的问题跟踪,所以我想禁用失败的构建工作项目的创建。有没有办法做到这一点?我试着注释掉为构建类型TFSBuild.proj文件中的工作项目信息,但没有做的伎俩。如何在Team Foundation Build失败结束时禁用工作项目创建?
尝试在TFSBuild.proj加入这个里面的PropertyGroup:
<SkipWorkItemCreation>true</SkipWorkItemCreation>
如果你是好奇,是如何工作的,Microsoft.TeamFoundation.Build.targets,则为如下:
<Target Name="CoreCreateWorkItem"
Condition=" '$(SkipWorkItemCreation)'!='true' and '$(IsDesktopBuild)'!='true' "
DependsOnTargets="$(CoreCreateWorkItemDependsOn)">
<PropertyGroup>
<WorkItemTitle>$(WorkItemTitle) $(BuildNumber)</WorkItemTitle>
<BuildLogText>$(BuildlogText) <a href='file:///$(DropLocation)\$(BuildNumber)\BuildLog.txt'>$(DropLocation)\$(BuildNumber)\BuildLog.txt</a >.</BuildLogText>
<ErrorWarningLogText Condition="!Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')"></ErrorWarningLogText>
<ErrorWarningLogText Condition="Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')">$(ErrorWarningLogText) <a href='file:///$(DropLocation)\$(BuildNumber)\ErrorsWarningsLog.txt'>$(DropLocation)\$(BuildNumber)\ErrorsWarningsLog.txt</a >.</ErrorWarningLogText>
<WorkItemDescription>$(DescriptionText) %3CBR%2F%3E $(BuildlogText) %3CBR%2F%3E $(ErrorWarningLogText)</WorkItemDescription>
</PropertyGroup>
<CreateNewWorkItem
TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)"
BuildNumber="$(BuildNumber)"
Description="$(WorkItemDescription)"
TeamProject="$(TeamProject)"
Title="$(WorkItemTitle)"
WorkItemFieldValues="$(WorkItemFieldValues)"
WorkItemType="$(WorkItemType)"
ContinueOnError="true" />
</Target>
您可以覆盖任何的这种功能在自己构建脚本,但微软在顶部,你可以用它来取消日的执行提供便利条件SkipWorkItemCreation整个目标。