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整個目標。