Come posso disabilitare la creazione di oggetti di lavoro al termine di una Team Foundation Build fallita?

StackOverflow https://stackoverflow.com/questions/122154

  •  02-07-2019
  •  | 
  •  

Domanda

Sto utilizzando Team Foundation Build ma non stiamo ancora utilizzando TFS per il rilevamento dei problemi, quindi desidero disabilitare la creazione dell'elemento di lavoro su una build non riuscita. C'è un modo per fare questo? Ho provato a commentare le informazioni sull'elemento di lavoro nel file TFSBuild.proj per il tipo di build, ma non ha funzionato.

È stato utile?

Soluzione

Prova ad aggiungere questo all'interno del gruppo di proprietà in TFSBuild.proj:

<SkipWorkItemCreation>true</SkipWorkItemCreation>

Se sei curioso di sapere come funziona, Microsoft.TeamFoundation.Build.targets segue quanto segue:

  <Target Name="CoreCreateWorkItem"
          Condition=" '$(SkipWorkItemCreation)'!='true' and '$(IsDesktopBuild)'!='true' "
          DependsOnTargets="$(CoreCreateWorkItemDependsOn)">

    <PropertyGroup>
      <WorkItemTitle>$(WorkItemTitle) $(BuildNumber)</WorkItemTitle>
      <BuildLogText>$(BuildlogText) &lt;a href='file:///$(DropLocation)\$(BuildNumber)\BuildLog.txt'&gt;$(DropLocation)\$(BuildNumber)\BuildLog.txt&lt;/a &gt;.</BuildLogText>
      <ErrorWarningLogText Condition="!Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')"></ErrorWarningLogText>
      <ErrorWarningLogText Condition="Exists('$(MSBuildProjectDirectory)\ErrorsWarningsLog.txt')">$(ErrorWarningLogText) &lt;a href='file:///$(DropLocation)\$(BuildNumber)\ErrorsWarningsLog.txt'&gt;$(DropLocation)\$(BuildNumber)\ErrorsWarningsLog.txt&lt;/a &gt;.</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>

Puoi sovrascrivere una qualsiasi di queste funzionalità nel tuo script di compilazione, ma Microsoft fornisce la pratica condizione SkipWorkItemCreation nella parte superiore, che puoi utilizzare per annullare l'esecuzione dell'intera destinazione.

Altri suggerimenti

Se stai usando tfs2010 o superiore puoi farlo nella definizione di build stessa.

Nella scheda Processo di Definizione build impostare la proprietà Crea oggetto di lavoro in caso di errore su false (nella sezione Avanzate)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top