Quando si utilizza il plugin Groovy Jenkins (non il Groovy Post Build Plugin, che è una cosa diversa) come Post Step, non riesco a risolvere le classi nel pacchetto hudson.model
.Pacchetti Jenkins su Groovy Classpath?
Devo aggiungere il Jenkins .war al classpath, o questi pacchetti dovrebbero già essere lì?
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);
uscita:
[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;
[...]
È davvero possibile eseguire il codice sopra come un semplice 'Groovy Script' quando si aggiunge il jar corretto al classpath? Dalla documentazione del plugin Groovy ho l'impressione che il codice non funzioni come in un'altra istanza JVM, quindi non sarà possibile aggiungere un parametro nella JVM già in esecuzione. – Tonin
@engineerbetter So che questo è vecchio, ma mi interessa condividere come questi vasi vengono messi nel classpath per quanto riguarda Jenkins e Groovy? Vado semplicemente nella configurazione avanzata del mio script Groovy, specificando il classpath in cui sono ospitati i miei vasi? – TekiusFanatikus