Jenkins 2.7 запускает все задания, начиная с ключевого слова в качестве конвейера

1751
J. Doe

Я пытаюсь запустить все задания, начиная с предустановленной строки, как конвейер в Jenkins 2.7. Пока мне удалось написать этот отличный код:

node { jobs = hudson.model.Hudson.instance.getAllItems(FreeStyleProject) for (job in jobs) { // here was an "if" statement: if (job.getFullName() =~ /my regex/) { stage job.getFullName() build job: job.getFullName(), propagate: false } } } 

Однако при каждом запуске, который я получаю java.io.NotSerializableException, выполняется только одно совпадение заданий (из двух на данный момент).

Что я делаю неправильно? :(

0

1 ответ на вопрос

1
kristian

Вот пример, как я бы это сделал:

import hudson.model.*;  // get all jobs which exists  jobs = Hudson.instance.getAllItems(FreeStyleProject);  // iterate through the jobs for (j in jobs) {  // define a pattern, which jobs I do not want to run def pattern = 'trunk'; def m = j.getName() =~ pattern;  // if pattern does not match, then run the job if (!m) { // first check, if job is buildable if (j instanceof BuildableItem) { // run that job j.scheduleBuild(); } } } 

Я прокомментировал мой код, так что это должно помочь вам.

Спасибо, таким образом, он фактически запускает указанные задания, однако с использованием `obj.scheduleBuild ()` время и состояние сборки не возвращаются в представление конвейера. Кажется, мне нужно использовать конвейерную функцию `build`, но она выдает мне исключение ... J. Doe 7 лет назад 0

Похожие вопросы