Hudson non checkout utilizzando link simbolici quando si utilizza SVN (Subversion)
-
26-09-2019 - |
Domanda
Il problema è che quando i controlli Hudson i file, non fa uso di link simbolici. Ho provato le svn13 e svn14 i plug in, ma nessuno dei due ha lavorato.
Soluzione
In Linux, modificare il file di script /etc/init.d/hudson:
Cercare una riga che assomiglia:
$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -jar $HUDSON_WAR $HUDSON_ARGS" || return 2
modificarla in:
$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -Dsvnkit.symlinks=true -jar $HUDSON_WAR $HUDSON_ARGS" || return 2
Salvare il file e digitare:
sudo /etc/init.d/hudson stop
sudo /etc/init.d/hudson start
In sintesi, si sta essenzialmente cercando di passare JAVA -Dsvnkit.symlinks = true in modo che i link simbolici sono risolti in cartelle, invece di un file.
Altri suggerimenti
In CentOS, la linea si dovrebbe cambiare legge:
JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR"
modificarla in:
JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -Dsvnkit.symlinks=true -jar $JENKINS_WAR"
e riavviare Jenkins
Non sono sicuro di quale versione del plug-in eversione hai provato, ma come di eversione plug 1,30 funziona out of the box.
Credo svnkit ad un certo punto il cambiamento di default dal fare link simbolico per default, e Jenkins beneficiato.
Se si desidera modificare questa impostazione per ogni nodo slave, questo ha funzionato per me:
Da Jenkins UI:
- Disconnetti nodo
- Fare clic sul nodo slave, In Configura -> Avanzate -> Opzioni JVM:
- Aggiungi riga: Dsvnkit.symlinks = true
- Relaunch schiavo