Как изменить рабочее пространство и построить запись Root Directory на Jenkins?
Я хотел бы, чтобы данные Дженкинса записывались на диск "E:", поскольку это большой диск на сервере. Сам Дженкинс установлен на "C:".
Как мне это сделать?
Конфигурация по умолчанию, которую я видел, это:
Корневой каталог рабочей области: $ {ITEM_ROOTDIR}/рабочее пространство
Создайте директорию корневого каталога: $ {ITEM_ROOTDIR}/builds
Смогут ли следующие изменения помочь мне достичь того, что мне нужно?
Справочник корневого каталога рабочей среды: E: /Jenkins/workspace
Создайте директорию корневого каталога: E: /Jenkins/builds/$ {ITEM_FULL_NAME}
Кроме того, что означает "$ ITEM_FULL_NAME"?
Ответы
Ответ 1
Я понял. Чтобы сохранить данные Jenkins на другом диске, вам необходимо сделать следующее:
Каталог корневого каталога рабочей среды : E:\Jenkins\$ {ITEM_FULL_NAME}\workspace
Создайте директорию корневого каталога: E:\Jenkins\$ {ITEM_FULL_NAME}\builds
Ответ 2
РЕДАКТИРОВАТЬ: По другим комментариям, кнопка "Дополнительно...", кажется, была удалена в более поздних версиях Jenkins. Если ваша версия не имеет его, см. Ответ Knorx.
У меня была та же проблема, и даже после нахождения этого старого запроса на получение доступа у меня все еще были проблемы с поиском, где указать корневой каталог рабочей области или корневой каталог записи сборки на системном уровне, а не указывать пользовательское рабочее пространство для каждой работы.
Чтобы установить это:
- Перейдите к
Jenkins
→ Manage Jenkins
→ Configure System
- Справа вверху, под
Home directory
, нажмите кнопку Advanced...
: - Теперь появятся поля для корневого каталога рабочего пространства и корневого каталога записи сборки:
- Информация, которая появляется, если щелкнуть всплывающую подсказку слева от каждого параметра, очень полезна. В частности (из справки корневого каталога рабочей области):
Это значение может включать следующие переменные:
-
${JENKINS_HOME}
- Абсолютный путь к домашнему каталогу Jenkins -
${ITEM_ROOTDIR}
- Абсолютный путь к каталогу, где Jenkins хранит конфигурацию и связанные метаданные для данного задания -
${ITEM_FULL_NAME}
- полное имя заданного задания, которое может быть разделено косой чертой, например, foo/bar для панели заданий в папке foo
Как правило, это значение должно включать ${ITEM_ROOTDIR}
или ${ITEM_FULL_NAME}
, в противном случае разные задания в конечном итоге будут использовать одно и то же рабочее пространство.
Ответ 3
Вы измените путь к файлу config.xml
каталоге по умолчанию
<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
<workspaceDir>D:/Workspace/${ITEM_FULL_NAME}</workspaceDir>
<buildsDir>D:/Logs/${ITEM_ROOTDIR}/Build</buildsDir>
Ответ 4
Переменные, которые вам нужны, описаны здесь в вики jenkins: https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties
Переменная по умолчанию ITEM_ROOTDIR указывает на каталог внутри установки jenkins. Как вы уже узнали, вам нужно:
- Корневой каталог рабочей области: E: /myJenkinsRootFolderOnE/$ {ITEM_FULL_NAME}/рабочая область
- Корневой каталог записей сборки: E: /myJenkinsRootFolderOnE/$ {ITEM_FULL_NAME}/builds
Вы должны достичь этого через config.xml nowerdays. Ссылаясь на вики-страницу, на которую ссылаются выше:
Раньше это был параметр пользовательского интерфейса, но он был удален в 2.119, поскольку он не поддерживал миграцию существующих записей сборки и мог привести к ошибкам, связанным со сборкой, до перезапуска.
Ответ 5
Вы также можете отредактировать файл config.xml в каталоге JENKINS_HOME. Используйте ответ c32hedge как ссылку и задайте местоположение рабочей области в соответствии с тем, что вы хотите между тегами
Ответ 6
По умолчанию Jenkins хранит все свои данные в этом каталоге в файловой системе.
Есть несколько способов изменить домашний каталог Jenkins:
- Отредактируйте переменную
JENKINS_HOME
в своем конфигурационном файле Jenkins (например, /etc/sysconfig/jenkins
в Red Hat Linux). - Используйте инструмент администрирования веб-контейнера, чтобы установить переменную среды
JENKINS_HOME
. - Установите переменную среды
JENKINS_HOME
перед запуском вашего веб-контейнера или перед запуском Jenkins непосредственно из файла WAR. - Установите системное свойство
JENKINS_HOME
Java при запуске веб-контейнера или при запуске Jenkins непосредственно из файла WAR. - Измените
web.xml
в jenkins.war (или его расширенное изображение в вашем веб-контейнере). Это не рекомендуется. Это значение нельзя изменить во время работы Jenkins. Это показано здесь, чтобы помочь вам убедиться, что ваша конфигурация вступает в силу.
Ответ 7
Я бы предложил отредактировать /etc/default/jenkins
vi /etc/default/jenkins
И изменив переменную $ JENKINS_HOME (около строки 23) на
JENKINS_HOME=/home/jenkins
Затем перезапустите Дженкинс с обычным
/etc/init.d/jenkins start
Ура!