Передача артефактов s3 из параллельных сборок в одну сборку в Jenkins Workflow

Я пытаюсь создать установщик Windows через Jenkins.

У меня есть несколько проектов jenkins, которые создают отдельные модули, а затем сохраняют эти артефакты в s3 через плагин артефактов s3.

Я хотел бы запустить их параллельно и скопировать артефакты в окончательное задание «сборка-установщик», которое берет все это и создает образ установщика. Я понял, как запускать задания параллельно с рабочим процессом jenkins, но я не знаю, где искать, чтобы выяснить, как извлечь сведения о результатах задания, убедиться, что все они имеют один и тот же набор изменений, и передать его заданию «сборка-установщик». .

Пока у меня есть сценарий рабочего процесса, подобный этому:

def packageBuilds = [:]
// these save artifacts to s3:
packageBuilds['moduleA'] = { a_job = build 'a_job' }
packageBuilds['moduleB'] = { b_job = build 'b_job' }
parallel packageBuilds

// pass artifacts from another jobs to below??
build job:'build-installer', parameters:????

Это правильный путь? Или я должен просто иметь мега-задачу сборки, которая собирает модули и установщик в одном задании?


person Nick Sonneveld    schedule 09.08.2015    source источник


Ответы (1)


Одно задание, которое выполняет все шаги, было бы легче управлять.

Я знаю, что параметры файла пока не поддерживаются для отправки файлов в задание рабочего процесса: ДЖЕНКИНС-27413. Я не пробовал отправлять файлы из задания рабочего процесса с использованием параметров файла. Вероятно, не может работать без какой-либо специальной поддержки. (Не уверен, что вы даже можете отправлять параметры файла между сборками фристайла, если уж на то пошло.)

person Jesse Glick    schedule 10.08.2015
comment
Я собираюсь отметить ваш ответ в надежде, что однажды рабочие процессы Jenkins будут поддерживать такое поведение :) - person Nick Sonneveld; 13.08.2015