ปลั๊กอิน Jenkins Build Flow มีปัญหาในการส่งพารามิเตอร์ระหว่างบิลด์

ฉันมีชุดของการสร้างแบบพาราเมตริกใน Jenkins ซึ่งในการสร้างฉันต้องคลิก 'สร้างทันที' จากนั้นป้อนค่าสำหรับพารามิเตอร์ (ในกรณีนี้เรียกว่า GIT_TAG_NAME) ฉันต้องการทริกเกอร์ชุดของบิลด์ที่มีพารามิเตอร์เหล่านี้ซึ่งทั้งหมดใช้พารามิเตอร์เดียวกันโดยไม่ต้องพิมพ์หลายครั้ง

ฉันกำลังพยายามทำให้สิ่งนี้ใช้งานได้กับ Build Flow Plugin (https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin) โดยการสร้างโฟลว์บิลด์หลักที่ทริกเกอร์บิลด์อื่น ๆ ทั้งหมด แต่ฉันไม่เข้าใจไวยากรณ์ของปลั๊กอิน หรืออาจเป็นไปไม่ได้

DSL ของฉันดูเหมือนว่า:

out.println "-------------------------" 
out.println 'Building all OTA builds at tag: '
out.println params["GIT_TAG_NAME"]
out.println "-------------------------"

build( "SomeOTA-Build-1", param1: params["GIT_TAG_NAME"] )
build( "SomeOTA-Build-2", param1: params["GIT_TAG_NAME"] )

คำสั่ง print พิมพ์พารามิเตอร์อย่างถูกต้อง แต่ build ย่อยดูเหมือนจะไม่ได้รับพารามิเตอร์ที่ส่งผ่านเข้าไป


person joseph.hainline    schedule 22.10.2012    source แหล่งที่มา
comment
สิ่งนี้ควรใช้ได้กับปลั๊กอิน build flow - ในการตั้งค่าของฉัน ฉันสามารถส่งพารามิเตอร์ตามที่คุณอธิบายได้ ใช้งานได้ทั้งแบบมีและไม่มีการระบุพารามิเตอร์บน SomeOTA-Build-1 พารามิเตอร์พร้อมใช้งานเป็นตัวแปรสภาพแวดล้อม build ใน SomeOTA-Build-1 ชื่อ param1   -  person Marijn    schedule 03.04.2013
comment
ความคิดเห็นข้างต้นมีคำตอบที่ถูกต้อง ปลั๊กอิน buildflow ต้องการให้คุณตั้งชื่อพารามิเตอร์ที่คุณกำลังส่งเข้ามา ในกรณีของคุณ นี่จะเท่ากับ build( "someOTA-Build-1", GIT_TAG_NAME: params["GIT_TAG_NAME"] )ตัวอย่างที่สั้นเกินไปในหน้าวิกิปลั๊กอินมีบิลด์ที่มีพารามิเตอร์ชื่อ param1   -  person thuovila    schedule 01.10.2013


คำตอบ (1)


ลองใช้ปลั๊กอินทริกเกอร์แบบพารามิเตอร์ -

  1. ตั้งค่า Job-A ด้วยพารามิเตอร์ GIT_TAG_NAME - นี่คือ "ส่วนหน้า" ของคุณ

  2. ตั้งค่า Job-B1, Job-B2 และ Job-B3 ด้วยพารามิเตอร์เดียวกัน GIT_TAG_NAME - สิ่งเหล่านี้ทำงานได้จริง

  3. ตั้งค่า Job-A เป็น ทริกเกอร์การสร้างพารามิเตอร์บนโปรเจ็กต์อื่น (ใน การดำเนินการหลังการสร้าง)
    และส่ง พารามิเตอร์การสร้างปัจจุบัน ไปยังงานที่ทริกเกอร์
    (ต้องการทริกเกอร์ต่องานที่ได้รับ - ไม่ว่าจะมีเงื่อนไขเดียวกันหรือต่างกัน)


ในตอนนี้ การรัน Job-A จะควบคุมงานอื่นๆ ในขณะที่ส่งค่า GIT_TAG_NAME ไปให้พวกเขา

แก้ไข:
มีปลั๊กอินจาก TIKAL ที่ใช้วิธีการอื่น:
ปลั๊กอิน Multijob พยายามบีบขั้นตอนงานทั้งหมดให้อยู่ในที่เดียว job
(ยังไม่ได้ลอง ดังนั้นจึงไม่สามารถแสดงความคิดเห็นเกี่ยวกับแนวทางนี้ได้)

หากใช้แนวทางแรก คุณอาจต้องการดูที่ เข้าร่วมปลั๊กอิน -
ปลั๊กอินนี้อนุญาตให้รันงานได้หลังจากงานดาวน์สตรีมทันทีสิ้นสุดลงแล้ว

person Gonen    schedule 23.10.2012
comment
ขอบคุณสำหรับคำตอบ. นั่นเป็นเพียงสิ่งที่ฉันต้องการ ไม่เห็นมันในบรรดาปลั๊กอินเจนกินส์หลายร้อยรายการ :) - person joseph.hainline; 23.10.2012
comment
ผู้ใช้ส่วนใหญ่ต้องการสร้าง 'งาน' เดียวกัน แต่มีการกำหนดค่าที่แตกต่างกัน ดังนั้นพวกเขาจึงใช้ งานการกำหนดค่าหลายรายการ (หรือ 'Matrix') - person Gonen; 26.10.2012