3
กลยุทธ์แพคเกจและรุ่นในสภาพแวดล้อมที่เก็บหลาย
เราเป็น บริษัท เล็ก ๆ ที่มีหลายทีมที่จัดการที่เก็บคอมไพล์ของตัวเอง นี่คือแพลตฟอร์มเว็บและสิ่งประดิษฐ์ของแต่ละทีมจะถูกนำไปใช้ในตอนท้ายของวันสำหรับการทดสอบทุกคืน เรากำลังพยายามทำให้เป็นทางการกระบวนการเกี่ยวกับการกำหนดรุ่นและบรรจุภัณฑ์ ทุกทีมมีสาขาหลักที่พวกเขาทำการพัฒนาแบบวันต่อวัน สมาชิกการประกันคุณภาพของแต่ละทีมต้องการให้สิ่งประดิษฐ์จากการเปลี่ยนแปลงของทีมของพวกเขาถูกนำไปใช้ในห้องทดสอบที่มีการรวมส่วนประกอบทั้งหมดโดยเชฟ Artifacts เป็น tarballs แต่ฉันต้องการแปลงเป็น RPMs เพื่อให้เราสามารถคิดและเหตุผลเกี่ยวกับเวอร์ชันได้อย่างถูกต้อง กระบวนการปล่อยเกี่ยวข้องกับการตัดสาขาที่วางจำหน่ายจากสาขาการพัฒนา (ต้นแบบในกรณีส่วนใหญ่) ของที่เก็บ git แต่ละอัน สิ่งนี้จะมอบให้กับการประกันคุณภาพที่เรียกใช้การทดสอบและลงชื่อออกในชุดของสิ่งประดิษฐ์ ตัวอย่างเช่นนี่เป็นที่เก็บคอมไพล์ทั่วไปที่มีสาขาย่อยที่เกี่ยวข้อง: 0-0-0-0-0-0-0-0-0-0 (master) | | 0 0 (rel-1) | 0 (rel-2) ฉันพยายามที่จะหารูปแบบของแพคเกจที่มาจากสาขาการพัฒนา เราไม่ต้องการติดแท็กสาขาหลักของแต่ละ repo และ จำกัด แท็กเพื่อปล่อยสาขาเท่านั้น แต่เราควรจะสามารถค้นหาแพ็คเกจที่ปรับใช้ในเครื่องทดสอบโดยใช้ซีแมนทิกส์ yum / rpm มาตรฐาน เวอร์ชันการพัฒนาจะมีลักษณะอย่างไรเมื่อสาขาหลักไม่มีแท็ก ฉันเข้าใจว่าgit describeสามารถให้การแสดงเวอร์ชั่นประกอบที่มีประโยชน์แก่ฉันได้ แต่ทำงานได้ดีเมื่อติดแท็กจุดปล่อยต่างๆในสาขา แก้ไข 1: เพื่อตอบสนองต่อคำตอบของ …