Выполнение других работ из трубопровода Дженкинса - PullRequest
0 голосов
/ 04 июля 2018

Я не могу установить плагин проекта Multijob из-за ограничений безопасности, и мне нужно организовать несколько заданий, работающих в следующем порядке:

  1. одна работа
  2. два параллельных задания
  3. одна работа
  4. одна работа

они зависимы и должны запускаться именно в таком порядке. Я пытаюсь сделать что-то вроде этого

def multiJob(??? jobs, ??? parameters) {
  def branches = [:]    
  for (int i = 0; i < jobs.length; i++) {
     def index = i
     branches["branch${i}"] = {
       build job: "$jobs[index]", parameters: $paramaters[index] 
     }
  }
  parallel branches
}
//...
pipeline {
  //..
  stages{
    stage ('first job') {
      multijob(['firstJob'], [paramsJob1])
    }
    stage ('second job') {
      multijob(['parallel1', 'paralel2'], [paramsParallel1, paramsParallel2])
    }
   //...
  }
}

Проблема в том, что я не знаком с Groovy и Jenkins, поэтому я не знаю какого типа должны быть переменные jobs и параметры метода multiJob и как правильно вызывать multiJob с шага конвейера

Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете сделать что-то вроде этого:

   pipeline {
        agent none
        stages {
            stage('Build job 1'){
                build 'Job1' // name of job1
            }
            stage('Run Parallel Builds') {
                parallel {
                    stage('Build job2') {

                        build 'Job2' // name of job2

                    }
                    stage('Build job3') {
                        build 'Job3' // name of job3
                    }
                }
                stage('Build job 4'){
                    build 'Job4' // name of job4
                }
                stage('Build job 5'){
                    build 'Job5' // name of job5
                }
            }
        }
    }

Для лучшего понимания вы можете обратиться сюда https://jenkins.io/blog/2017/09/25/declarative-1/

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...