คุณสามารถใช้build job
ขั้นตอนจากJenkins Pipeline (ข้อกำหนดขั้นต่ำของ Jenkins: 2.130)
นี่คือ API ฉบับเต็มสำหรับbuild
ขั้นตอน: https://jenkins.io/doc/pipeline/steps/pipeline-build-step/
วิธีใช้build
:
job
: ชื่องานต่อเนื่องที่จะสร้าง อาจเป็นงานท่ออื่น แต่โดยทั่วไปแล้วจะเป็นงานฟรีสไตล์หรือโครงการอื่น ๆ
- ใช้ชื่อง่ายๆถ้างานอยู่ในโฟลเดอร์เดียวกันกับงานท่อส่งต้นน้ำนี้
- คุณสามารถใช้เส้นทางสัมพัทธ์แทนเช่น
../sister-folder/downstream
- หรือคุณสามารถใช้เส้นทางสัมบูรณ์เช่น
/top-level-folder/nested-folder/downstream
ทริกเกอร์งานอื่นโดยใช้สาขาเป็นพารามิเตอร์
ที่ บริษัท ของฉันสาขาของเราหลายแห่งมี "/" คุณต้องแทนที่อินสแตนซ์ของ "/" ด้วย "% 2F" (ตามที่ปรากฏใน URL ของงาน)
ในตัวอย่างนี้เรากำลังใช้เส้นทางสัมพัทธ์
stage('Trigger Branch Build') {
steps {
script {
echo "Triggering job for branch ${env.BRANCH_NAME}"
BRANCH_TO_TAG=env.BRANCH_NAME.replace("/","%2F")
build job: "../my-relative-job/${BRANCH_TO_TAG}", wait: false
}
}
}
ทริกเกอร์งานอื่นโดยใช้หมายเลขบิลด์เป็นพารามิเตอร์
build job: 'your-job-name',
parameters: [
string(name: 'passed_build_number_param', value: String.valueOf(BUILD_NUMBER)),
string(name: 'complex_param', value: 'prefix-' + String.valueOf(BUILD_NUMBER))
]
ทริกเกอร์งานจำนวนมากพร้อมกัน
ที่มา: https://jenkins.io/blog/2017/01/19/converting-conditional-to-pipeline/
ข้อมูลเพิ่มเติมเกี่ยวกับ Parallel ที่นี่: https://jenkins.io/doc/book/pipeline/syntax/#parallel
stage ('Trigger Builds In Parallel') {
steps {
parallel (
linux: {
build job: 'full-build-linux', parameters: [string(name: 'GIT_BRANCH_NAME', value: env.BRANCH_NAME)]
},
mac: {
build job: 'full-build-mac', parameters: [string(name: 'GIT_BRANCH_NAME', value: env.BRANCH_NAME)]
},
windows: {
build job: 'full-build-windows', parameters: [string(name: 'GIT_BRANCH_NAME', value: env.BRANCH_NAME)]
},
failFast: false)
}
}
หรืออีกทางหนึ่ง:
stage('Build A and B') {
failFast true
parallel {
stage('Build A') {
steps {
build job: "/project/A/${env.BRANCH}", wait: true
}
}
stage('Build B') {
steps {
build job: "/project/B/${env.BRANCH}", wait: true
}
}
}
}