Team Foundation Server / Team System: Check-In nur bei erfolgreichem Build zulassen

Written on February 15, 2008

Bei der Entwicklung im Team ist es wichtig, dass sich die Entwickler gegenseitig auf den geschriebenen und eingecheckten Code verlassen können. Eine erste Hürde, die man dem Code vor dem Einchecken stellen kann (und sollte), ist die Prüfung auf einen erfolgreichen Build am Rechner des Entwicklers des jeweiligen Codes.

Mit Team Foundation Server und Visual Studio ist dies über die Check-in Policies leicht zu realiseren.

Zunächst führen wir im Team Explorer einen Rechtsklick auf das Projekt aus und wählen die dargestellten Optionen:

tfsproperties

Im folgenden Fenster ist der Reiter "Check-in Policy" auszuwählen und dann der Add-Button zu klicken:

tfssourcecontrolsetting

Daraufhin erscheint eine Liste von Check-in Policies. Wir wählen die "Code Analysis" Policy und klicken auf "OK":

tfspolicylist

Im Anschluß kann die Policy konfiguriert werden. Hierbei können alle Regeln deaktviert werden, ebenso wie die C/C++-Code Analysis:

tfspolicycodeanalysispolicy

Danach müssen noch die Code Analysis Settings des Projekts mit denen der Check-in Policy kombiniert werden:

vsmergecodeanalysiswithtfspolicy

Versucht man nun, Code einzuchecken, der fehlerhaft ist und deshalb zu keinem erfolgreichen Build führt, erhält man folgende Warnung beim Check-in:

pendingchangespolicywarnings

Die Details finden sich nach einem Doppelklick auf die Meldung:

codeanalysispolicyfailuredetails

Somit lässt sich ab sofort also nur noch Code einchecken, wenn der Build am lokalen Rechner, auf dem der Code geschrieben wurde, erfolgreich war.