
따로 파이프 라인 구성하지 않고 기존에 사용중인 프리스타일 프로젝트를 걸 수 있습니다
소스는 똑같고 뽑는 세팅만 다른 여러 빌드가 있는경우 일일히 누르지 않고 한번에 실행됩니다
node {
stage('Parallel-main') {
parallel 'Build1' : {
stage('APK QA') {
build job: 'qa', parameters: [string(name: 'FIXREV', value: "${params.REV}")]
}
} ,
'Build2' : {
stage('APK QA GPG') {
build job: 'qa_pc', parameters: [string(name: 'FIXREV', value: "${params.REV}")]
}
} ,
'Build3' : {
stage('APK LIVE') {
build job: 'live', parameters: [string(name: 'FIXREV', value: "${params.REV}")]
}
},
'Build4' : {
stage('APK LIVE GPG') {
build job: 'live_pc', parameters: [string(name: 'FIXREV', value: "${params.REV}")]
}
},
'Build5' : {
stage('APK Dev') {
build job: 'live_devel', parameters: [string(name: 'FIXREV', value: "${params.REV}")]
}
},
'Build6' : {
stage('IPA QA') {
build job: 'qa_ipa', parameters: [string(name: 'FIXREV', value: "${params.REV}")]
}
},
'Build7' : {
stage('IPA LIVE') {
sleep(time:60,unit:"SECONDS")
build job: 'live_ipa', parameters: [string(name: 'FIXREV', value: "${params.REV}")]
}
}
}
}
build job 에 기존 프로젝트명을 적으면 됩니다
저는 SVN 사용중이라 병렬 job에 svn revision을 보내주는 방식으로 동일한 상태로 빌드가 나오도록 구성했습니다
파이프 라인쪽
받는 프리스타일 프로젝트 쪽

IPA빌드는 동시에 걸면 이상하게 사이닝에러가 빈번하게 발생하여 1분 대기 시켰습니다

각 스테이지별로 빌드 시간을 확인할 수 있습니다
다만 현재 젠킨스 구현이 모든 병렬잡을 진행상황을 실시간으로 표시하지않고 완료된경우만 시간을 표시합니다
그래서 1개잡만 진행중->완료 프로그레스UI가 올라가고 나머지는
대기->완료 처리됩니다 (실제로는 병렬로 실행중)
사용되는 에이전트는 물리머신 3대입니다
3+2+2 = 7
