Groovy-сценарий в разделе «Подготовка среды для запуска» всегда будет запускаться на главном сервере, и этот groovy-сценарий может создать символическую ссылку, куда вы действительно хотите архивировать артефакты на archive_to
, в которую СЛЕДУЕТ включать имя задания и номер сборки:
if (! Files.createSymbolicLink(Paths.get(currentBuild.artifactsDir.path),
Paths.get(archive_to.getCanonicalPath()))) {
throw new RuntimeException("Can't create symlink to archive dir")
}
Конечно (к сожалению), когда Дженкинс очищает старые сборки, старые артефакты остаются, потому что Дженкинс не будет следовать символической ссылке при чистке, даже если Дженкинс владеет символической ссылкой и целью (позор).
Обходным путем для этого может быть указание символической ссылки обратно из нового архивного каталога, затем, когда jenkins удалит свой архивный каталог, новая символическая ссылка будет зависать, а задание cron может затем удалить новый каталог архива заданий