2009-08-07 6 views

Antwort

10

Sie können Hudson den SCM für Änderungen abfragen und nur Dinge tun, wenn er Änderungen findet.

Poll SCM: Konfigurieren Sie Hudson, um Änderungen in SCM abzufragen.

Beachten Sie, dass dies eine teuere Operation für CVS sein wird, wie jedes Polling erfordert Hudson den gesamten Arbeitsbereich zu scannen und mit dem Server zu überprüfen. Betrachten wir ein „Push“ Trigger Einrichtung dieser Overhead zu vermeiden, wie in diesem document beschrieben

Sie können auch etwas für Ihren SCM post-commit Haken hinzufügen, die eine Hudson bauen abfeuern wird.

Auslöser baut der Ferne (zum Beispiel von Skripte): Aktivieren Sie diese Option, wenn Sie möchte neue baut ausgelöst wird, um eine spezielle vordefinierte URL (praktisch für Skripte) zugreifen.

Ein typisches Beispiel für diese Funktion Neubau aus dem Quellcodeverwaltungssystem der Hook-Skript auslösen würde, wenn jemand hat gerade eine Änderung in das Repository begangen oder von einem Skript, das Steuer Ihrer Quelle parst E-Mail Benachrichtigungen.

Sie benötigen eine Autorisierungs-Token in Form einer Zeichenfolge zu schaffen, so dass nur diejenigen, die es wissen wäre in der Lage sein, remote auslösen dieses Projekt aufbaut.

+1

Verwenden von Poll SCM, wie Sie erwähnt, ist ziemlich teuer für SVN. Ich habe mehr darüber nachgedacht, das Build manuell auszulösen, und nur dann, wenn SVN geändert wird, dass der Build-Prozess ausgeführt wird. Manchmal gibt es kleinere Änderungen an SVN, die keine neue Build – ken

+13

Polling ein Subversion-Repository ist unglaublich billig - der Server gibt die letzte Änderungsliste Nummer zurück, die gegen die letzte Version Hudson gebaut werden kann. Was lässt Sie glauben, dass es teuer ist? –

0

Es ist nicht so einfach wie das Betrachten der Revisionsnummer (wie an anderer Stelle angegeben), es sei denn, Ihr Build ist für das gesamte Subversion-Repository gedacht. Normalerweise haben Sie Projekte, die sich ein einzelnes Subversion-Repository teilen, und Sie bauen eine Unterstruktur auf. Die globale Revisionsnummer hilft nicht.

'svn info [url_to_subtree]' zeigt das letzte Änderungsdatum an. Sie können dies analysieren und herausfinden, ob es später als Ihr letztes Build-Datum ist und einen neuen Build auslösen.