Automatisierte Builds in Team Foundation Server

7

Ich richte einen automatisierten Build für meine Lösung ein. Ich bekomme jedoch Fehler in Bezug auf Fehler beim Kopieren bestimmter Informationen in bestimmte Ordner. Dies betrifft Build-Ereignisse, die jedes Projekt in meiner Lösung hat.

Ich frage mich, ob es eine Möglichkeit gibt, die einzelnen Build-Ereignisse in den Projekten "abzuschalten" oder ob es irgendwo einen Parameter gibt, der diese Build-Ereignisse deaktiviert?

Der automatisierte Build, den ich eingerichtet habe, tut bereits, was die einzelnen Projektbuild-Events tun sollen, und so versucht er sich zu wiederholen und verursacht Probleme. Ich brauche immer noch die Build-Ereignisse, die den Projekten zugeordnet werden, da sie außerhalb der Entwicklungsumgebung ausgeführt werden müssen, damit die Anwendung ordnungsgemäß funktioniert (die Erstellungsereignisse haben mit der dynamischen Aktualisierung von Informationen zu tun).

Kurz gesagt, gibt es eine Möglichkeit, die Builds, die mit jedem einzelnen Projekt in meiner Lösung verknüpft sind, zu deaktivieren, ohne sie tatsächlich zu löschen? Ich brauche sie, um da zu sein, ich brauche sie nur, um sozusagen "unsichtbar" zu sein, während ich die automatisierten Builds in der Entwicklungsumgebung ausführe.

Ich entschuldige mich für die Ausführlichkeit und für die Ungenauigkeit von allem, es ist schwierig, Dinge manchmal zu erklären, ohne zu viel zu verschenken.

BEARBEITEN: Nicht so sehr eine Bearbeitung als zusätzliche Information für Klarheit, aber trotzdem. Das grundlegende Ziel, das ich erreichen möchte, besteht darin, die "Post-Builds" zu deaktivieren, die mit jedem der Projekte in meiner Lösung verknüpft sind. Ich möchte sie behalten, sie nur deaktivieren, während ich sie durch die internen automatisierten Builds / Tests führe

    
AmbiguousX 17.12.2010, 18:08
quelle

4 Antworten

13

Nachdem ich viel über die Eigenschaft "BuildingInsideVisualStudio" recherchiert habe und viel optimiert habe, um die richtige Syntax zu finden, haben mein Team und ich gefunden, wonach wir gesucht haben.

Wir haben die Anweisung eingefügt

if '$(BuildingInsideVisualStudio)' == 'true' <executed code>

Format im Abschnitt "Post-Build-Ereignis Befehlszeile" unter den Eigenschaften des Projekts & gt; Registerkarte Ereignisse erstellen.

    
AmbiguousX 29.12.2010, 21:56
quelle
8

Einige Post-Build-Skript-Code wie dieser sollte funktionieren:

%Vor%

Platzieren Sie Ihren vorhandenen Code in den entsprechenden Block, je nachdem, ob er nur in VS-Builds oder nur in TFS-Builds ausgeführt werden soll.

    
Jorgen Thelin 18.12.2010 00:25
quelle
2

Sie können die .csproj-Datei auch so ändern:

%Vor%

Leider zeigt Visual Studio keine Informationen auf der Registerkarte "Erstellungsereignisse" an, daher ist es für zukünftige Wartungsarbeiten möglicherweise schwieriger.

    
mcanti 23.02.2011 10:24
quelle
1

Sie können alle Teambuild-Eigenschaften überprüfen und sehen, ob sie ausgefüllt sind. Wenn ja, kannst du davon ausgehen, dass es sich um ein Teambuild handelt. Ich verwende diesen Ansatz mit unserem Build, so dass die Post-Build-Deployment-Kennzeichnung nur dann erfolgt, wenn sie auf dem Build-Server ausgeführt wird.

Hier ist ein Link zu den verschiedenen Teambuild-Eigenschaften

%Vor%     
Brook 18.12.2010 02:12
quelle