Сохраняется ли каталог архива в Jenkins, даже если я установил максимальное количество сборок, чтобы сохранить число?

Я пытаюсь понять назначение каталога архива. Из того, что я видел, архив для каждой сборки. Это означает, что если я установлю «Максимальное количество сохраняемых сборок», например, на 3, архив также будет удален.

Это правильно?

Если да, то как я могу сказать Jenkins сохранить только мой созданный артефакт (zip-файл) и удалить каталог сборки?

Существует ли один архивный каталог для всех сборок?


person Tzach Solomon    schedule 28.10.2015    source источник


Ответы (1)


По умолчанию для задания Jenkins существует два каталога (может быть только один, builds, в случае задания Workflow, или несколько, например, дополнительный каталог promotions):

  • JENKINS_HOME/jobs/${JOB_NAME}/builds/, содержащий подкаталоги в соответствии с $BUILD_ID
  • JENKINS_HOME/jobs/${JOB_NAME}/workspace/

Итак, у каждого задания есть одна рабочая область и один каталог сборки для каждой сборки.


Не позволяйте странице администрировать Jenkins с помощью это изменение, вызванное JENKINS-8446 вас смущает. Рабочая область по умолчанию, как также упоминалось во встроенной справке (текущей версии 1.635 на момент написания этой статьи), по-прежнему:

Управление Jenkins Настройка системы Дополнительно... Корневой каталог рабочей области: ${ITEM_ROOTDIR}/workspace

Это НЕ ${JENKINS_HOME}/workspace/${JOB_NAME}.


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

  • создайте «архивное» задание, использующее плагин копирования артефактов и подключите его как нисходящий поток к вашей работе по сборке.
  • самостоятельно переместите их в другое место (включая создание подкаталогов с уникальными именами для хранения артефактов) с помощью действия после сборки Groovy Postbuild или < strong>Выполнить набор скриптов.

Существует также плагин Discard Old Build, который расширяет возможности Jenkins. встроенная функция отмены через Действие после сборки.

person Gerold Broser    schedule 28.10.2015