มีวิธีจำกัดจำนวนการสร้าง Jenkins ที่ถูกทริกเกอร์โดยเหตุการณ์การรวม Gerrit ที่ส่งมาโดยใช้ส่งกับผู้ปกครองหรือไม่

หลังจากดำเนินการชุดคำสั่งท้องถิ่นไปยังสาขาท้องถิ่นของโปรเจ็กต์โดยใช้ git และ Gerrit ฉันก็ส่งการเปลี่ยนแปลงชุดนั้นไปยัง Gerrit เพื่อตรวจสอบและรวมเข้าด้วยกันในที่สุด ใน Gerrit ฉันเห็นปุ่ม "ส่งกับผู้ปกครอง" สำหรับการกระทำทั้งหมดยกเว้นข้อใดข้อหนึ่ง นี่เป็นพฤติกรรมที่คาดหวัง และฉันเข้าใจเหตุผลแล้ว

ใน Jenkins ฉันยังใช้ Jenkinsfile เพื่อสร้างไปป์ไลน์ของฉัน และในการทำเช่นนั้น ฉันยังใช้ปลั๊กอิน Gerrit Triggers เพื่อตอบสนองต่อสตรีมเหตุการณ์ใน Gerrit โดยเฉพาะอย่างยิ่ง ฉันเชื่อมโยงกับเหตุการณ์การผสานเพื่อทริกเกอร์รุ่นพร้อมสำหรับการทดสอบ

เมื่อฉันส่งการเปลี่ยนแปลงแต่ละรายการทีละรายการ Jenkins จะทริกเกอร์การสร้างและดำเนินไปอย่างสนุกสนานในการสร้างสิ่งต่าง ๆ ทีละอย่าง แต่... ถ้าฉันรวมเข้ากับผู้ปกครอง (สมมติว่ามีการใช้ฟีเจอร์ขนาดใหญ่) Gerrit จะทริกเกอร์เหตุการณ์สำหรับทุก ๆ การกระทำในซีรีส์ สิ่งที่ฉันอยากรู้คือ ถ้ามีวิธีใดใน Jenkins หรือ Gerrit ที่จะจัดการเฉพาะเหตุการณ์จากเด็กที่กระทำและละเว้นกิจกรรมสำหรับผู้ปกครอง


person Joshua    schedule 30.05.2019    source แหล่งที่มา


คำตอบ (1)


Jenkins/Gerrit ไม่มีวิธีจัดการสิ่งนี้โดยเฉพาะ แต่ฉันจะแนะนำวิธีแก้ปัญหาบางอย่าง:

1) คุณสามารถเพิ่ม "หัวข้อ" ให้กับ Gerrit Trigger บน Jenkins ด้วยค่าบางอย่างเช่น "build" การทำเช่นนี้ Jenkins จะสร้างเฉพาะการเปลี่ยนแปลงที่ผสานของหัวข้อนี้ และคุณเพียงแต่ต้องเพิ่มหัวข้อ "build" ให้กับการเปลี่ยนแปลงย่อยเพื่อให้ Jenkins ทราบว่าคุณต้องการสร้างคอมมิตใด

2) คุณสามารถเปลี่ยนทริกเกอร์ Gerrit จาก "Change Merged" เป็น "Comment Added ประกอบด้วย Regular Expression" ด้วยค่าบางอย่างเช่นค่า "build" การทำเช่นนี้ Jenkins จะไม่สร้างเมื่อมีการรวมการเปลี่ยนแปลง และคุณสามารถทริกเกอร์การสร้างจากการคอมมิตลูกได้ เพียงเพิ่มความคิดเห็น "build" ในการเปลี่ยนแปลงลูกบน Gerrit

ฉันหวังว่านี่จะช่วยได้

person Marcelo Ávila de Oliveira    schedule 30.05.2019