2013-09-27 34 views
6

Die Umgebungsvariablen% SVN_REVISION% und% SVN_URL% werden nicht festgelegt, wenn ich ein SVN-Repository verwende, das auf einem Visual SVN-Server ausgeführt wird. Alle anderen SVN-Interaktionen funktionieren gut, z.B. Checkout und Change Detection. Das Ausführen des Jobs mit einem anderen SVN-Server funktioniert auch.EnvVar SVN_REVISION und SVN_URL nicht festgelegt

Freestyle Job-Konfiguration:

Repository URL:   http://SERVERNAME:81/svn/Projects/ProjectName__5_9_1_3/trunk 
Local module directory: trunk 
Repository depth option: infinity 

Ausgabe von Windows-Einstellbefehl in dem Build-Vorgang (SVN_REVISION und SVN_URL fehlenden)

... 
SESSIONNAME=RDP-Tcp#0 
SystemDrive=C: 
SystemRoot=C:\Windows 
... 

Systeminformationen

  • Jenkins: v1.531
  • Subversion-Plugin: v1.51
  • JAVA Runtime: v1.6.0_35
  • VisualSVN Server: v2.7

Antwort

7

Das Protokoll Jenkins Fehler hat mich auf dem richtigen Weg:

WARNUNG: no revision found corresponding to http://SERVERNAME/svn/Project/trunk; known: [http://servername/svn/Project/trunk] 

Es scheint, dass Jenkins/subversion/SVNKit ist Groß- und Kleinschreibung und in meinem Fall schrieb ich versehentlich den Servernamen in Großbuchstaben.

+2

Wie bei KostyaSha auf #jenkins diskutiert, https://github.com/jenkinsci/subversion-plugin/blob/5c4c1de863a6c6201c5834f72da016b574682c65/src/main/java/hudson/scm/SubversionSCM.java#L710 sollte vielleicht geändert werden, um zu vergleichen, 'java.net.URI's anstatt' String's. –

+1

Heute ist der Servername klein, damit svn env vars richtig gesetzt werden kann. – StormRider01

+2

Es mag auch nicht den% 20-Wert, den Windows gerne mit Leerzeichen ersetzt. Ich brauchte eine Weile, um es aufzuspüren, weil es die Checkouts ohne Probleme durchführte. – OttPrime

0

Es ist mir heute passiert, dass ich mehrere SVN-Pfade für das Projekt ausgecheckt habe und somit alle unterschiedliche Revisionsnummern haben. Jenkis endete die Erstellung mehrerer Variablen: SVN_REVSION_1, SVN_REVISION_2, etc ...

Sie am Ende ein Batch-Skript hinzufügen und verwenden Sie den Befehl SET (Windows), so können Sie in der Ausgabe der Konsole alle verfügbaren Variablen sehen und ihre Werte.

+0

Wenn Sie mehrere Pfade ausgecheckt haben, ist Jenkins 'Verhalten, 'SVN_REVISION_1' usw. für jeden Pfad zu erstellen, so dass Sie diese optional verwenden können, aber es sollte immer noch' SVN_REVISION' & 'SVN_URL' auf den ersten svn festgelegt werden Pfad in Ihrer Jobkonfiguration. Das Problem und die Lösung des OP hängen nicht damit zusammen, dass es mehrere Pfade gibt. – Erik

+0

Nun, es definiert nicht eine SVN_REVISION für die erste ... also habe ich es gegoogelt und bin hier gelandet. Nach mehr Forschung fand ich dieses Verhalten. Und diese Antwort passt perfekt zum OP-Titel. Es tut mir leid, diese Antwort hat dir nicht geholfen. Es hat vorher jemand anderem geholfen. –