Как изменить рабочее пространство и построить запись 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

Change Directory

Ответ 2

РЕДАКТИРОВАТЬ: По другим комментариям, кнопка "Дополнительно...", кажется, была удалена в более поздних версиях Jenkins. Если ваша версия не имеет его, см. Ответ Knorx.

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

Чтобы установить это:

  1. Перейдите к JenkinsManage JenkinsConfigure System
  2. Справа вверху, под Home directory, нажмите кнопку Advanced...: advanced button under Home directory
  3. Теперь появятся поля для корневого каталога рабочего пространства и корневого каталога записи сборки: additional directory options
  4. Информация, которая появляется, если щелкнуть всплывающую подсказку слева от каждого параметра, очень полезна. В частности (из справки корневого каталога рабочей области):

    Это значение может включать следующие переменные:

    • ${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

Ура!