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.
Welche Versionskontrolle verwenden Sie GIT oder TFVC? –
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. –