Jenkins 2.7 запускает все задания, начиная с ключевого слова в качестве конвейера
Я пытаюсь запустить все задания, начиная с предустановленной строки, как конвейер в 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
и выполняется только одно сопоставление задания (из двух на данный момент).
Что я делаю неправильно?:(
1 ответ
Вот пример, как я бы это сделал:
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();
}
}
}
Я прокомментировал мой код, так что это должно помочь вам.