2010-06-17 14 views
5

Sto configurando una generazione parametrizzata in hudson v1.362. il parametro che sto cracciando è usato per determinare quale ramo controllare in sovversione.Hudson: come faccio a usare una build parametrizzata per eseguire svn checkout e svn tag?

Posso impostare il mio URL svn repository in questo modo: https://my.svn.server/branches/ ${branch} e fa il checkout e la compilazione bene.

ora voglio taggare la build al termine. sto usando il plugin di codifica SVN per hudson per farlo. così vado in fondo alla schermata di configurazione del progetto per il progetto hudson e accendo "Esegui tagging Subversion su build di successo".

qui, ho impostato il mio Tag Base URL a https://my.svn.server/tags/ ${branch}-${BUILD_NUMBER} e mi dà errori su quelle proprietà che non vengono trovate. così li cambio in usi variabili di ambiente come questo: https://my.svn.server/tags/ ${env['branch']}-${env['BUILD_NUMBER']} e il plug-in di svn tagging è felice.

Il problema ora è che il mio repository svn in alto sta usando il ${branch} sintassi e la codifica svn plug barfs su questo:

moduleLocation: Remote ->https://my.svn.server/branches/$branch/ 
Tag Base URL: 'https://my.svn.server/tags/thebranchiused-1234'. 
There was no old tag at https://my.svn.server/tags/thebranchiused-1234. 
ERROR: Publisher hudson.plugins.svn_tag.SvnTagPublisher aborted due to exception 
java.lang.NullPointerException 
    at hudson.plugins.svn_tag.SvnTagPlugin.perform(SvnTagPlugin.java:180) 
    at hudson.plugins.svn_tag.SvnTagPublisher.perform(SvnTagPublisher.java:79) 
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) 
    at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601) 
    at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:580) 
    at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:558) 
    at hudson.model.Build$RunnerImpl.cleanUp(Build.java:167) 
    at hudson.model.Run.run(Run.java:1295) 
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:124) 
Finished: FAILURE 

avviso la prima linea, c'è: il tag svn sta guardando $ {branch} come parte dell'URL del repository ... non sta analizzando il valore della proprietà.

ho provato a modificare il mio URL del repository originale per svn per utilizzare la sintassi ${env['branch']}, ma che esplode sul checkout originale perché questa sintassi non viene analizzata affatto dal checkout.

aiuto ?!

come utilizzare una generazione parametrizzata per impostare l'url di svn per il checkout e per contrassegnare la mia build ?!

risposta

3

Non usiamo il plugin tagging, ma noi usiamo SVN.EXE nel nostro script di shell in questo modo:

svn cp% lavoro% \ tronco @ http://myserver/release/%build_number%/trunk -m "(mettere log testo qui) "--paris

Forse qualcosa di simile funzionerà anche per te.

+0

grazie william. usarlo in uno script post build di hudson funziona alla grande! –

0

Usiamo la marcatura pluggin con il seguente URL:

 
http://subversion.repository/branches/jenkinstest_tags//build-${env['BUILD_NUMBER']} 

e funziona. Abbiamo dovuto usare un doppio "//" come in "/ jenkinstest_tags // build". Che sembra una soluzione.

+1

Il problema dell'OP non è l'URL TARGET ma l'URL SOURCE. – chiccodoro

Problemi correlati