Хадсон не проверяет использование символических ссылок при использовании SVN (Subversion)

Проблема в том, что когда Хадсон проверяет файлы, он не использует символические ссылки. Я пробовал подключаемые модули svn13 и svn14, но ни один не работал.

4 ответа

Решение

В Linux отредактируйте ваш файл скрипта /etc/init.d/hudson:

Ищите строку, которая выглядит следующим образом:

$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS  -jar $HUDSON_WAR $HUDSON_ARGS" || return 2

Измените это на:

$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -Dsvnkit.symlinks=true -jar $HUDSON_WAR $HUDSON_ARGS" || return 2

Сохраните файл и введите:

sudo /etc/init.d/hudson stop
sudo /etc/init.d/hudson start

Таким образом, вы хотите передать JAVA -Dsvnkit.symlinks=true, чтобы символические ссылки разрешались в папки, а не в файл.

В CentOS строка, которую вы должны изменить, гласит:

JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR"

Измените это на:

JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -Dsvnkit.symlinks=true -jar $JENKINS_WAR"

И перезапустите Дженкинс

Я не уверен, какую версию плагина Subversion вы пробовали, но начиная с плагина Subversion 1.30 он работает "из коробки".

Я предполагаю, что SVNKit в какой-то момент изменит стандартное значение по умолчанию на символическую ссылку, и Дженкинс выиграл от этого.

Если вы хотите изменить этот параметр для каждого подчиненного узла, это сработало для меня:

От Jenkins UI:

  1. Отключить узел
  2. Нажмите на подчиненный узел, в разделе "Настройка" -> "Дополнительно" -> "Параметры JVM":
  3. Добавить строку: Dsvnkit.symlinks=true
  4. Перезапустить раб
Другие вопросы по тегам