Wir haben derzeit ein Problem damit, dass Teamcity Builds mit einem VCS-Trigger auslöst, wenn es 0 Dateiänderungen gibt, unsere VCS-Rootstests sind mit Mercurial
konfiguriertWir haben eine Checkout-Regel eingerichtet, um nur den notwendigen Ordner für die zu erstellende Lösung auszuchecken, und wir müssen nur dann eine Lösung erstellen, wenn der Ordner, zu dem die Lösung gehört, geändert wird
Das Problem, das wir haben, ist, dass teamcity einen Build auslöst, wenn es keine Änderungen am Ordner gibt, dies geschieht nur, wenn wir Köpfe zusammenführen.
Die ausstehenden Änderungen zeigen 0 Dateien an und wenn Sie die Dateiänderungen anzeigen, stammen die angezeigten Dateien aus einem Ordner, der nicht in den Auscheckregeln oder dem VCS-Trigger enthalten ist.
Ich kann mir das nicht vorstellen, also wäre jede Hilfe willkommen.
Ich denke TC9 Dokumentation beantwortet die Gründe dafür. Ich weiß, dass diese Dokumentation für eine neuere Version gedacht ist, aber es scheint sich um genaues Szenario zu handeln, das Sie haben.
Ausführung eines Builds bei Zweigzusammenführung
Der VCS-Trigger ist sich der Verzweigungen bewusst und löst einen Build aus, sobald ein Check-in in einer Verzweigung erkannt wird.
Wenn Änderungen von einem Zweig zum anderen zusammengeführt / schnell weitergeleitet werden, gibt es im eigentlichen Sinne keine tatsächlichen Änderungen im Code. Standardmäßig verhält sich der VCS-Trigger folgendermaßen:
- Beim Zusammenführen / schnellen Weiterleiten von zwei nicht standardmäßigen Zweigen: die Änderungen in a Build wird in Bezug auf vorherige Builds in derselben berechnet verzweigen, wenn also ein Build auf demselben Commit in einem anderen Zweig erstellt wird, Der Trigger startet einen Build in einem anderen Zweig, der auf denselben verweist verpflichten.
- Wenn der Standardzweig einer der Zweige in der merging / fast-forwarding, die Änderungen werden immer gegen die berechnet Standardzweig, wenn im Standard eine Version derselben Revision erstellt wird Zweig wird TeamCity keinen neuen Build mit derselben Revision ausführen.
Haben Sie sich die Auslösungsregeln angesehen? Sie können eine benutzerdefinierte Auslöserregel festlegen, um den Build nur für Änderungen an einem bestimmten Ordner auszuführen.
Tags und Links teamcity mercurial teamcity-8.0