Jenkins에서 동시에 여러 작업을 다시 작성하는 방법은 무엇입니까?


9

Jenkins Rebuild Plugin 을 사용하여 단일 Rebuild 버튼 으로 매개 변수화 된 빌드를 실행하고 있습니다. 그러나 수십 개의 매개 변수화 된 작업 (선택한 폴더 또는 동일한 폴더에서)을 다시 실행 해야하는 경우 여전히 효율적이지 않습니다.

마지막으로 사용한 매개 변수를 사용하여 여러 작업을 동시에 다시 실행할 수있는 더 간단한 방법 (결과적으로 다른 플러그인 사용)이 있습니까?


2
다중 재구성을 수행하는 플러그인에 대해 잘 모르겠습니다. 그러나 실패한 빌드가 자체적으로 재 시도되는 (일부 구성에 따라) 다른 접근 방식을 사용하고 재시도 기반 솔루션을 사용하도록 제안 할 수 있습니다. 그것은 일종의 다중 리빌드를 필요로합니다 (적어도 경우에 따라).
Assaf Lavie

답변:


8

파이프 라인 을 사용 하여 작업을 함께 묶어 병렬로 또는 단계적으로 순차적으로 실행할 수 있습니다.
파이프 라인 스크립트에서 호출 할 때 관련 매개 변수를 각 작업에 전달할 수 있습니다.
그런 다음 단일 파이프 라인 작업을 다시 빌드하면됩니다. 변수를 통해 작업을 공통 빌드 이름과 함께 묶을 수도 있습니다.

build job: 'buildjob1', parameters: [
  [$class: 'StringParameterValue', name: 'BUILD_NAME', value: ${env.JOB_BASE_NAME}-${env.BUILD_NUMBER}"], 
  [$class: 'StringParameterValue', name: 'FIXEDPARAM', value: 'some-string'],
  [$class: 'StringParameterValue', name: 'PARAM1', value: "${PARAM1}"]
]

1

매개 변수 객체 목록을 작성한 다음이를 빌드 단계로 전달할 수도 있습니다.

def paramsMap = [:]
paramsMap['param1'] = 'value1'
paramsMap['param2'] = 'value2'
def paramsObjects = []
paramsMap.each {
  key, value ->
    paramsObjects.push([$class: 'StringParameterValue', name: key, value: value])
}
build job: jobName, parameters: paramsObjects

paramsObjects는 다음과 같습니다.

[
    [$class:StringParameterValue, name:param1, value:value1],
    [$class:StringParameterValue, name:param2, value:value2]
]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.