Wie übergeben Sie die Umgebungsvariablen ein sbt test-build-Schritt in Jenkins?
In meiner scala test Las ich einen environemnt variable über sys.props.getOrElse("cassandra.test.host", DEFAULT_CASSANDRA_TEST_HOST)
.
Ausführen der tests mittels Jenkins.
Ich habe eine Build using sbt
als build-Schritt.
Durch den Blick auf ähnliche Fragen auf, SO kam ich mit dieser Lösung - D. H. das Aktionen-Feld:
'; set javaOptions += "-Dcassandra.test.host=XX.XXX.XXX.XXX"; test'
Aber es funktioniert nicht. Keine variable wird gesetzt, wenn Properties.envOrElse
ausgeführt wird.
Die Jenkins Konsole-Ausgabe enthält:
[...]
[util-sessionizer] $ java -jar /usr/local/bin/sbt-launch.jar '; set javaOptions += "-Dcassandra.test.host=XX.XXX.XXX.XXX"; test'
[info] Loading project definition from /jenkins/workspace/util-sessionizer/project/project
[info] Loading project definition from /jenkins/workspace/util-sessionizer/project
[info] Set current project to util-sessionizer (in build file:/jenkins/workspace/util-sessionizer/)
[info] Defining *:javaOptions
[info] The new value will be used by *:runner, compile:run::runner and 4 others.
[info] Run `last` for details.
[info] Reapplying settings...
[...]
Ich bin mit scalatest
InformationsquelleAutor piercarlo | 2015-04-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht die Verzweigung eine neue JVM zur Ausführung von tests, Einstellung
javaOptions
nichts.Auszug aus der SBT selbst:
Dies erklärt, warum Ihre
javaOptions
werden nicht verwendet, wenn Sie nicht forking-tests.Haben Sie grundsätzlich zwei Lösungen:
fork in Test := true
zum ausführen der tests in Gabel-JVMsOder übergeben Sie Ihre system-Eigenschaften SBT selbst :
sbt -Dcassandra.test.host=XX.XXX.XXX.XXX test
InformationsquelleAutor Pierre DAL-PRA
Sie beim festlegen der ein-system-Eigenschaft mit
-Dcassandra.test.host=XX.XXX.XXX.XXX"
, aber dann mitProperties.envOrElse
was für Umgebungsvariablen. Sehen Umgebungsvariablen.Versuchen Sie dies:
InformationsquelleAutor Dale Wijnand
Es scheint, dass das hinzufügen
fork in Test := true
löst das problem - auch wenn, um ehrlich zu sein, habe ich nicht untersucht, die extact corrlation zwischen den beiden Ereignissen (D. H. hinzufügenfork in Test := true
und mit der system-Eigenschaft übergeben, um meine tests.So das richtige argument zu übergeben sbt:
'; set fork in Test := true; set javaOptions += "-Dcassandra.test.host=XX.XXX.XXX.XXX"; test'
InformationsquelleAutor piercarlo