Как настроить имя файла Jenkins для создания артефактов?

Архив файлов артефакта архива Jenkins сжимает файлы в файл "archive.zip". Он всегда имеет одно и то же имя файла. Более того, Дженкинс фактически не архивирует (в "сборках" каталогов нет никаких файлов "archive.zip" ). Дженкинс просто карту url

https://www.my-jenkins-server.com/jenkins/job/ $job_name/$job_number/artifact/* zip */archive.zip

и всегда возвращать все в каталоге заданий, те совпадения с шаблоном, сконфигурированные в плагине артефакта архива post build action.

Проблема в том, что сама работа создает ZIP-архив, поэтому мне нужно опубликовать этот архив под оригинальным именем. Это важно, поскольку имя архива уточняет владельца задания, данные внутри, параметры, используемые для запуска задания. Пусть говорят, что пользователи выполняли задание 10 раз с использованием разных параметров и не дождались завершения каждого задания до того, как он будет работать дальше. Позже пользователь начнет загружать результаты и получит

archive.zip
archive(1).zip
archive(2).zip
...
archive(10).zip

Теперь ему нужно извлечь архивы из этих загруженных архивов, чтобы получить еще 10 архивов с квалифицированными именами. Затем удалите загруженный архив. После этого определите по квалифицированному имени архива те, которые ему нужны на самом деле, и удалите остальные. Легко сделать ошибку здесь, удалить или пропустить файл архива.

Решения для меня:

  • Опубликовать, сгенерированные архивом заданий под его оригинальным именем.

  • Сгенерировать мои файлы и сформировать имя файла архива под ним, оно должно быть подано, пропустите zipping внутри задания. Заключительный шаг, передайте это имя файла в качестве параметра в действие сборки плагинов в артефакте архива, поэтому Дженкинс будет обслуживать архив под специальным именем, настроенным самой работой.

Ответ 1

Вы можете запустить любую пост-сборку script (shell/batch/powershell) после шага архива и переименовать archive.zip в архив _ ${BUILD_NUMBER}.zip, чтобы вы могли легко отслеживать архив по последнему успешный номер сборки. Но для этого сначала нужно очистить рабочее пространство, чтобы сохранить следы архивных файлов на основе номера сборки.

Ответ 2

Имя zip файла определяется из каталога, содержащего артефакты (см. Jenkins source).

  • Внутри самый верхний каталог артефакта имеет имя archive, поэтому вы всегда увидите archive.zip.

  • И наоборот, это означает, что вы можете получить собственный zip файл xyz.zip, поместив артефакты в (sub-) каталог xyz.

Нет других вариантов для изменения имени.