nächtliche IfModificationExists seit dem letzten Build-Label CruiseControl.NET bauen
-
05-07-2019 - |
Frage
Ich bin mit einem Server das gleiche Projekt bauen sowohl kontinuierlich als auch jede Nacht; jedoch möchte ich den Nightly Build nur zu bauen, wenn eine Änderung im Laufe des Tages vorhanden ist. Ich hoffe, dies mit der Einschränkung zu erreichen, die sowohl die denselben Arbeitsordner baut verwenden .
Die beiden Optionen Ich erwäge sind:
-
Polling der kontinuierliche Aufbau und nur bauen die nächtliche bauen, wenn eine kontinuierliche Build aufgetreten ist -. Möglicherweise einige Token-System (kontinuierliche Build setzt Token, nächtliche Token löscht)
-
eine vorkompilierte Aufgabe Ausführen des Quellcodes zur letzten Build Zeit
zurückzukehren
Ich bin Neigung in Richtung der zweiten Option, da sie die Build-Skripte abkoppelt, aber es scheint eine viel schwierigere Aufgabe zu sein.
Vorschläge und Tipps, um dies zu tun würden geschätzt!
Added Informationen:
Das CI-Build ist eine schnelle Build von der Lösung in einer Konfiguration und vielleicht läuft einige schnelle Unit-Tests.
Die Nightly Build reinigt den Build Umwelt, baut die Software, die Pakete in ein Installationsprogramm läuft erweiterten Tests, Etiketten die Quellcode-Repository, setzt das Installationsprogramm auf einer Serverfreigabe für manuelle Tester zu holen, und E-Mails das Testteam, dass eine prüfbare build ist gemacht worden.
ich nur wollen, dass die baut jede Nacht auftreten, wenn es gab all Check-In im Laufe des Tages, so dass Tester werden nicht mit Wiederholung E-Mail für im Wesentlichen der gleiche Build geplagt.
Lösung 2
Ich bin glücklich mit meiner neuen Lösung ...
Ich verwende eine Multitrigger mit einem scheduleTrigger und prjectTrigger auf dem nächtlichen Build (besser nennen vollständige Erstellung) und WriteModification / ReadModification Paare die Änderungshistorie zu propagieren wie in diese Frage .
Andere Tipps
Ich könnte vorbei sein, diese Aufgabe zu vereinfachen, kann aber nicht Sie einfach Setup zwei Auslöser für das Projekt? Ein Intervall-Trigger für die kontinuierliche baut und ein Zeitplan-Trigger mit der IfModificationExists Bedingung für die nächtliche baut.
<triggers>
<intervalTrigger seconds="60" name="Continuous" />
<scheduleTrigger time="23:30" buildCondition="IfModificationExists" name="Scheduled">
<weekDays>
<weekDay>Monday</weekDay>
</weekDays>
</scheduleTrigger>
</triggers>