2017-06-21 2 views
0

Wir haben eine Definition für "Continuous Integration Build" in unserem TFS-Projekt. Jedes Mal, wenn ein Check-in stattfindet, wird die Quelle abgerufen, kompiliert und einige automatisierte Tests werden ausgeführt. Auf der Registerkarte "Repository" der Builddefinition gibt es eine Option "Clean", z. B .: screen grab showing clean option on tab Wir verwenden derzeit TFVC, ziehen aber in Betracht, zu Git zu wechseln.TFS 2017 Builds - So reinigen Sie den Arbeitsbereich regelmäßig

Derzeit haben wir die Bereinigung auf 'false' gesetzt. Wenn der Build gestartet wird, führt der Erstellungsagent eine inkrementelle Ermittlung der Quelldateien durch. Den größten Teil des Tages ist dies genau das, was wir wollen, da es die Bauzeiten verkürzt. Es erscheint jedoch sinnvoll, den Agenten regelmäßig die Erstellungsverzeichnisse leeren zu lassen, z. einmal/Tag. Es wäre schön, dies auf irgendeine Weise zu automatisieren, zum Beispiel, wenn es wahr wäre, wenn das $ (Rev) gleich 1 ist, d.h. das erste Build des Tages.

Ich habe ein paar Variationen ausprobiert, indem ich "$ (Rev) == 1" in das Drop-Down-Menü eingegeben habe oder eine Variable aus dem Register "Variablen" verwendet habe, aber das scheint nicht zu funktionieren. Ich habe die on-line MSDN documentation geschaut, aber es schlägt fehl, auch nur etwas anderes als 'wahr' oder 'falsch' sind gültige Werte.

Ich würde alle Vermutungen oder Vorschläge für weitere Tests oder Ideen begrüßen.

+0

Welche Versionskontrolle verwenden Sie GIT oder TFVC? –

+0

Eine Problemumgehung wäre das Erstellen einer Zeitplanaufgabe auf dem Erstellungsagenten, um den Quellordner zu bereinigen oder eine Powershell-Skriptaufgabe in der Erstellungsdefinition hinzuzufügen, um die rev zu überprüfen und dann zu bereinigen und Quelle abzurufen. –

Antwort

0

Für jetzt ist die saubere nur zwei Option wahr/falsch egal, Sie verwenden TFVC und GIT.

Sauber:

Wenn Sie es auf true gesetzt, reinigt das Build-Agent die repo auf diese Weise:

  • Änderungen rückgängig machen anhängige
  • Scorch

Set dies ist false, wenn Sie einen inkrementellen Build zudefinieren möchten 0 Leistung verbessern.

Tipp: In diesem Fall, wenn Sie Visual Studio-Projekte bauen auf den Build-Registerkarte können Sie auch deaktivieren Sie das Kontrollkästchen Reinigen von Visual Studio Erstellen oder MSBuild Schritt.

Sie könnten einen uservoice hier, TFS Uhr wird freundlich Ihren Vorschlag abgegeben. Als Workaround können Sie am Ende eines Tages eine Scheduled Build hinzufügen, um den Clean-Repo-Vorgang durchzuführen.

+0

Danke @ Patrick-MSFT. Offensichtlich nicht die Antwort, auf die ich gehofft hatte. Seufzer. Ich habe eine Benutzerstimme hinzugefügt, so dass der [Vorschlag] (https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/19699258-allow-the-build-clean-selection-to-be-more.png) (dann) wird in Betracht gezogen. Ich werde die geplante Build-Problemumgehung untersuchen, aber es ist nicht so offensichtlich, dass ich den Quellordner jedes Builds auf jedem Build-Agent auf diese Weise bereinigen kann. –

Verwandte Themen