Set environment variable für build-in hudson
Ich versuchte ein maven2 Projekt im Rahmen von continuous integration in hudson.
Das Projekt nutzt Selen für einige Integrationstests.
Hudson läuft auf einem headless linux.
Ich bin mit xvfb zu starten ein x-server-Sitzung für Selen.
Um die tests ausführen, ich brauche zu exportieren, wird eine Umgebungsvariable namens DISPLAY.
z.B.
export DISPLAY=:99
Jedoch möchte ich nicht die variable, auf die box, da wäre es auf alle baut.
Ich habe versucht zu tun, ein shell-execute mit der m2 zusätzliche Schritte, plugin, aber es funktioniert nicht, da es ausgeführt wird, in einem separaten bash-Datei, was bedeutet, dass die environment-Variablen werden nicht gespeichert.
Gibt es eine Möglichkeit, sich zu registrieren, die Umgebungsvariablen von hudson.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein neues feature in Hudson, die Sie angeben können,Parameter für builds. Dieses sieht wie es das tut, was Sie wollen.
Obwohl beachten Sie, dass:
zur info, ich bin loslassen die setenv-plugin für Hudson heute (vorausgesetzt, java.net erholt genug für mich zu tun, so!) - es verhält sich ähnlich wie die parametrisierte build-Funktionen, aber mit einer einfacheren Benutzeroberfläche (nur ein textarea für die Eingabe - Schlüssel/Wert-Paare getrennt durch Zeilenumbrüche) und ohne die Notwendigkeit, geben Sie Werte für die Parameter, die zur build-time.
Hudson den Knoten Eigenschaften machen einen guten job hier. Aber wenn Sie sich für eine stärker automatisierte Weise zuordnen von der Bildschirm-Nummer, die Sie tun müssen ist ein wenig mehr Arbeit, vielleicht binden in der port-Zuweisung plugin, oder schreiben eines neuen BuildWrapper plugin startet xvfb automatisch ein und setzt die SCREEN-Umgebungsvariable auf den Namen der build.
Wenn Sie bereit sind, wechseln Sie zu einem anderen X-server für die Prüfung, können Sie versuchen, die Xvnc-plugin für Hudson. Es startet der vncserver automatisch, und legen Sie die BILDSCHIRM-Umgebungsvariable als gut. Es hat auch die Fähigkeit, einen screenshot, wenn die tests fertig sind, und zeigen, dass im Auftrag der Hudson-Seite.
PATH
?Habe ich gefunden, läuft Selen mit
xvfb-run
zuverlässiger als Einstellung ANGEZEIGT, so könnte dies für Sie arbeiten. Also:Haben Sie versucht, die Verwendung der Selen-maven-plugin?
Das plugin konfiguriert werden kann, mit Xvfb zu starten, die tests ausführen und dann stoppen.
Verwendung dieser pom.xml Konfiguration:
details sind hier:
http://mojo.codehaus.org/selenium-maven-plugin/examples/headless-with-xvfb.html
Als pro meine Reaktion auf die akzeptierten Antworten, hier sind meine Ergebnisse.
Hüten Sie sich vor Un-initialisierten Variablen
Bei Verwendung der Parametrisierung Funktion in Hudson, die Sie anfügen können, Umgebungsvariablen, um das Ende einer Zeichenfolge, vorausgesetzt, Sie enthalten etwas, das in den ersten Platz.
Zum Beispiel, wenn die environment-variable $FOO ist leer, und Sie waren zu verwenden, die folgende Zeile in eine String-Parameter...
dann die environment-variable Lesen /usr/bin/ladeda/:$F00.
Jedoch, wenn ich
dann die exportierte variable wäre....
Als ich anfangs lief dies als test, ich hatte nicht herausgearbeitet - und damit dachte, der parameter Funktion wurde nicht akzeptiert externe Umwelt-Variablen, wenn es tatsächlich war (Sie musste einfach etwas beinhalten).