Wenn Sie das Groovy Jenkins Plugin (nicht das Groovy Post Build Plugin, was eine andere Sache ist) als Post Step verwenden, kann ich die Klassen im hudson.model
Paket nicht auflösen.Jenkins Pakete auf Groovy Classpath?
Muss ich die Jenkins .war auf den Klassenpfad hinzufügen, oder sollten diese bereits vorhanden sein?
Script:
import hudson.model.*;
import hudson.util.*;
AbstractBuild currentBuild = (AbstractBuild) Thread.currentThread().executable;
def mavenVer = currentBuild.getMavenArtifacts().getModuleRecords()[0].mainArtifact.version;
println mavenVer;
ParametersAction newParamAction = new hudson.model.ParametersAction(new hudson.model.StringParameterValue(“MAVEN_VERSION”, mavenVer));
currentBuild.addAction(newParamAction);
Ausgang:
[Common] $ /home/tester/tools/Groovy_1.8.3/bin/groovy /home/tester/workspace/Common/hudson8369102960709507246.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/home/tester/workspace/Common/hudson8369102960709507246.groovy: 8: unable to resolve class AbstractBuild
@ line 8, column 15.
AbstractBuild currentBuild = (AbstractBuild) Thread.currentThread().executable;
[...]
Ist es wirklich möglich, Ihren Code oben als einfaches 'Groovy Script' auszuführen, wenn Sie dem Klassenpfad das richtige Glas hinzufügen? Aus der Groovy-Plugin-Dokumentation habe ich den Eindruck, dass der Code nicht wie in einer anderen JVM-Instanz funktioniert, so dass Sie keinen Parameter in der bereits laufenden JVM hinzufügen können. – Tonin
@engineerbetter Ich weiß, das ist alt, aber interessiert euch, wie diese Gläser in den Klassenpfad in Bezug auf Jenkins und Groovy gebracht werden? Gehe ich einfach in die erweiterte Konfiguration meines Groovy-Skripts und gebe den Klassenpfad an, in dem meine Jars gehostet werden? – TekiusFanatikus