Как начать работу (параллельно) с основной работы с различными входами в Дженкинс? - PullRequest
0 голосов
/ 13 декабря 2018

Я использую jenkins и у меня есть сценарий синтаксиса в jenkinsfile. В основном задании после проверки исходного кода мне нужно выполнить другое задание n раз (параллельно) с разными входами.Любые советы, чтобы начать это?

def checkout(repo, branch) {

checkout(changelog: false,
        poll: false,
        scm: [$class                           : 'GitSCM',
              branches                         : [[name: "*/${branch}"]],
              doGenerateSubmoduleConfigurations: false,
              recursiveSubmodules              : true,
              extensions                       : [[$class: 'LocalBranch', localBranch: "${branch}"]],
              submoduleCfg                     : [], userRemoteConfigs: [[credentialsId: '', url: "${repo}"]]])


withCredentials([[$class          : '',

                  credentialsId   : '',

                  passwordVariable: '',

                  usernameVariable: '']]) {


    sh "git clean -f && git reset --hard origin/${branch}"
}
}

node("jenkins02") {

stage('Checkout') {
    checkout gitHubRepo, gitBranch
}

}

1 Ответ

0 голосов
/ 13 декабря 2018

Мы делаем это, сохраняя все задания, которые мы хотим запустить на карте, а затем передаем его на параллельный шаг для выполнения.Таким образом, вы просто настраиваете различные параметры и добавляете каждое определение в карту, а затем выполняете.

    Map jobs = [:]
    jobs.put('job-1', {
        stage('job-1') {
            node {
                build(job: "myorg/job-1/master", parameters: [new StringParameterValue('PARAM_NAME','VAL1')], propagate: false)
            }
        }
    })
    jobs.put('job-2', {
        stage('job-2') {
            node {
                build(job: "myorg/job-2/master", parameters: [new StringParameterValue('PARAM_NAME','VAL2')], propagate: false)
            }
        }
    })
    parallel(jobs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...