Hudson nicht Kasse Symlinks verwenden, wenn SVN (Subversion)
-
26-09-2019 - |
Frage
Das Problem ist, dass, wenn Hudson checkt die Dateien, nicht Symlinks nicht verwendet. Ich habe die svn13 und svn14 Plug-Ins versucht, aber weder gearbeitet.
Lösung
In Linux, bearbeiten Sie Ihre /etc/init.d/hudson Skriptdatei:
Suchen Sie nach einer Zeile, das aussieht wie:
$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -jar $HUDSON_WAR $HUDSON_ARGS" || return 2
Ändern Sie es an:
$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -Dsvnkit.symlinks=true -jar $HUDSON_WAR $HUDSON_ARGS" || return 2
Speichern Sie die Datei und geben Sie:
sudo /etc/init.d/hudson stop
sudo /etc/init.d/hudson start
Insgesamt sind Sie im Wesentlichen suchen JAVA -Dsvnkit.symlinks passieren = true, so dass Symlinks auf Ordner anstelle einer Datei aufgelöst werden.
Andere Tipps
In CentOS, die Linie sollten Sie ändern lautet:
JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR"
Ändern Sie es an:
JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -Dsvnkit.symlinks=true -jar $JENKINS_WAR"
Und Neustart jenkins
Ich bin nicht sicher, welche Version der Subversion-Plugin Sie versucht haben, aber wie die Subversion-Plugin 1.30 funktioniert es aus der Box.
Ich denke, SVNKit an einem gewissen Punkt Wechsel von dem Standard Symlink standardmäßig tun, und Jenkins davon profitierte.
Wenn Sie diese Einstellung pro Slave-Knoten zu bearbeiten wollen, ist dies für mich gearbeitet:
Von Jenkins UI:
- Trennen node
- Klicken Sie auf Slave-Knoten, unter Configure -> Erweitert -> JVM Optionen:
- In Zeile: Dsvnkit.symlinks = true
- Relaunch Slave