IMO, questo caso d'uso deve essere esplicitamente indicato nella pagina web/documentazione del plugin.Jenkins: Come si usa il plugin di trigger parametrizzato e si passa una revisione di subversion?
Diciamo che ho un progetto denominato U per upstream e D per downstream. Quando U finisce di costruire, voglio che D controlli la stessa revisione che U ha appena creato. U effettuerà sempre il checkout HEAD.
Ecco che cosa ho fatto:
- In U, ho aggiunto un "post-generazione Azioni" per "costruire con parametri Trigger su altri progetti".
- Per "Progetti da compilare" Ho digitato in D e per costruire solo quando "Stabile".
- Ho aggiunto un trigger per "Reverse Subversion".
- ho salvato questa configurazione
Ora io non so cosa dovrei fare dopo, ma non ottengo alcuna valutazioni per indicare questo sta lavorando. Infatti, even this testcase that's committed to the plugin source suggerisce che questo è tutto quello che dovrei fare.
Ma, se dovessi indovinare, penserei che dovrei contrassegnare U come una configurazione parametrizzata e aggiungere un parametro ad esso. Questo parametro dovrebbe essere chiamato ciò che U invia a D. Ma, se ho l'idea giusta, non so cosa dovrei chiamare questo parametro. Né il log della console di D né il log della console di U menziona alcun nuovo parametro.
Ho fatto un'ipotesi e ho creato un parametro String in U denominato "SVN_REVISION" e l'ho impostato su -1, ma ciò non ha avuto alcun effetto. Ogni volta che D attiva una build, SVN_REVISION è impostato su -1.
Questa è l'uscita di correre export
sul progetto D:
+ export
export BUILD_ID="2013-03-20_09-48-32"
export BUILD_NUMBER="4522"
export BUILD_TAG="jenkins-D-4522"
export BUILD_URL="http://my.jenkins.server.com:8081/job/D/4522/"
export EXECUTOR_NUMBER="2"
export HUDSON_COOKIE="8ec52f7a-d60d-4640-83a9-dbed7351b32a"
export HUDSON_HOME="/opt/hudson"
export HUDSON_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export HUDSON_URL="http://my.jenkins.server.com:8081/"
export JAVA_HOME="/opt/java"
export JENKINS_HOME="/opt/hudson"
export JENKINS_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export JENKINS_URL="http://my.jenkins.server.com:8081/"
export JOB_NAME="D"
export JOB_URL="http://my.jenkins.server.com:8081/job/D/"
export LANG="en_US.UTF-8"
export LD_LIBRARY_PATH="/opt/jdk1.6.0_30/jre/lib/i386/server:/opt/jdk1.6.0_30/jre/lib/i386:/opt/jdk1.6.0_30/jre/../lib/i386"
export M2="/opt/maven/bin"
export M2_HOME="/opt/maven"
export MAVEN_OPTS="-Xms256m -Xmx512m"
export NHINC_PROPERTIES_DIR="/opt/nhinc/Properties"
export NLSPATH="/usr/dt/lib/nls/msg/%L/%N.cat"
export NODE_LABELS="master"
export NODE_NAME="master"
export OLDPWD
export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/opt/java/bin:/opt/apache-ant-1.8.1/bin:/usr/local/bin:/opt/maven/bin"
export PWD="/opt/hudson/jobs/D/workspace"
export SHLVL="2"
export SVN_REVISION="24186"
export SVN_URL="https://a/url/trunk"
export TERM="xterm"
export WORKSPACE="/opt/hudson/jobs/D/workspace"
export XFILESEARCHPATH="/usr/dt/app-defaults/%L/Dt"
export _="/opt/java/bin/java"
Così sembra che ha una variabile d'ambiente SVN_REVISION. Ma non penso che provenga necessariamente dal plugin. La mia prova viene dalla descrizione del "URL Repository" a Jenkins:
durante la costruzione, numero di revisione del modulo che è stato estratto è disponibile attraverso l'ambiente SVN_REVISION variabile, a condizione che si sta solo controllando fuori un modulo. Se sono stati estratti più moduli , utilizzare il comando svnversion. Se sono stati estratti più moduli , è possibile utilizzare il comando svnversion per ottenere le informazioni di revisione oppure utilizzare le variabili di ambiente SVN_REVISION_, dove è un indice basato su 1 che corrisponde alle posizioni configurate. Gli URL sono disponibili tramite le variabili d'ambiente SVN_URL_ simili.
Ma supponiamo che questo sia impostato da U al posto di D. Come faccio a usare D o come faccio a sapere che lo sta usando quando D viene attivato?
Lasciatemi fare una domanda che probabilmente dovrò chiedere dopo. Una volta che conosco il nome del parametro che devo usare, come posso modificare la configurazione di D in modo che controlli quella revisione?Devo modificare "URL del repository" per mettere un @${PARAMETER_NAME}
alla fine o qualcosa del genere?
Ultimo paragrafo: 'come modifico la configurazione di U in modo che ...'. Dovrebbe essere D invece di U? –
@BradCupit buona cattura. Modificato –