คุณจะทดสอบการเปลี่ยนแปลงกับปลั๊กอินเจนกินส์ก่อนนำไปใช้งานได้อย่างไร


14

หากคุณถูกกัดโดยการอัพเกรดปลั๊กอินที่ทำลายฟังก์ชั่นบางอย่างคุณต้องให้ความคิดเกี่ยวกับปัญหานี้: นโยบายการอัพเกรดปลั๊กอินเจนกินส์ควรทำอย่างไร? คุณจะทดสอบการเปลี่ยนแปลงก่อนนำไปใช้งานได้อย่างไร

มีใครไปเท่าที่มีอินสแตนซ์ทดสอบที่ใช้งานหลอกตาเพื่อทดสอบเวอร์ชันใหม่หรือคุณเพียงแค่อธิษฐานว่าการอัพเกรดเวอร์ชันจะไม่ทำลายอะไรเลยหรือ


คุณหมายถึงนโยบายทีมของ Jeankins หรือนโยบาย (องค์กรของคุณ) หรือไม่?
Dan Cornilescu

ฉันจะถ่ายรูปของโหนด Jenkins ก่อนทำการอัพเกรดและทดสอบ จากประสบการณ์ของฉันเจนกินส์ไม่เคยมีภารกิจสำคัญมาก่อน หากเป็น "ลง" เป็นเวลา 15 นาทีเนื่องจากการอัปเกรดปลั๊กอินบางตัวมันมักจะไม่บล็อกการผลิตในทางใดทางหนึ่งดังนั้นการแทรกแซงด้วยตนเองเป็นที่ยอมรับ แน่นอนถ้าไม่ใช่ในกรณีของคุณ (และเจนกินส์จะต้องเป็น 100% HA) นั่นไม่ใช่แนวทางที่ถูกต้อง
Assaf Lavie

@DanCornilescu นโยบายองค์กรของฉันเนื่องจากนี่เป็นเซิร์ฟเวอร์ Jenkins ภายในของเรา
Michael Pereira

@AssafLavie นั้นขึ้นอยู่กับวิธีที่ Jenkins ใช้งานอยู่: เซิร์ฟเวอร์แบบสแตนด์อโลน, VM, ตัวเชื่อมต่อคอนเทนเนอร์, kubernetes pods (กรณีของเรา) อาจไม่ง่ายที่จะถ่ายภาพของสถานะปัจจุบันเพื่อกู้คืนตามที่เป็นอยู่ ในกรณีของเราเราสามารถโคลนปริมาณ EBS ที่เก็บข้อมูล Jenkins ได้ แต่เป็นกระบวนการที่ต้องดำเนินการเองและใช้เวลานานในการกู้คืนทั้งคอนเทนเนอร์และปริมาณข้อมูลไปยังสถานะที่ระบุ
Michael Pereira

สวัสดี @MichaelPereira หากทั้งสองคำตอบด้านล่างนี้ได้แก้ไขคำถามของคุณโปรดลองตอบรับโดยคลิกที่เครื่องหมายถูก สิ่งนี้บ่งชี้ถึงชุมชนที่กว้างขึ้นซึ่งคุณได้พบวิธีแก้ปัญหาและสร้างชื่อเสียงให้กับทั้งผู้ตอบคำถามและตัวคุณเอง ไม่มีข้อผูกมัดในการทำเช่นนี้ หากคุณไม่รู้สึกว่าคำถามของคุณได้รับคำตอบโปรดอย่าลังเลที่จะมีส่วนร่วมกับผู้เขียนในความคิดเห็น
Richard Slater

คำตอบ:


4

ตามนโยบายของ บริษัท ที่ฉันทำงานเรามีสภาพแวดล้อมแบบ dev, preprod และ prod (ในบางบริการ dev อาจหายไป) และเส้นทางของเวอร์ชันใหม่ preprod-> tests-> validation-> prod

ในกรณีงานของเราใน preprod นั้นหนักและซับซ้อนพอที่จะทำให้แน่ใจว่าเราไม่จำเป็นต้องสวดอ้อนวอนเมื่อดำเนินการใน prod :)

หมายเหตุ : เราใช้ svn เพื่อรักษาและส่งมอบการกำหนดค่า เราไม่ทำการเปลี่ยนแปลงใด ๆ


คุณจะบำรุงรักษาเซิร์ฟเวอร์ Jenkins ที่แตกต่างกันอย่างไร? ด้วยตนเอง?
Michael Pereira

เราใช้ svn เพื่อรักษาและส่งมอบการกำหนดค่า เราไม่ทำการเปลี่ยนแปลงใด ๆ ในสถานที่
Romeo Ninov

ฉันรู้สึกแบบนี้ไม่ค่อยตอบคำถามทั้งหมด คำตอบนี้อธิบายวิธีที่คุณปรับใช้การเปลี่ยนแปลง แต่ไม่ใช่วิธีทดสอบการเปลี่ยนแปลงผ่านขั้นตอนการปรับใช้
jayhendren

2

เราต้องการสภาพแวดล้อม HA เจนกินส์ 100% เรามักจะอัพเกรดปลั๊กอิน / เจนกินส์เอง

สิ่งนี้ทำให้เกิดอาการปวดหัวครั้งใหญ่หากบิลด์หยุดทำงานหลังจากการอัพเกรด

วิธีที่ปลอดภัยที่สุดในการจัดเรียงนี้คือการติดตั้ง Demo Jenkins บางทีในเครื่องเดียวกันที่ใช้แอพพลิเคชั่น Tomcat หลายตัวคุณสามารถทำสิ่งนี้ได้ถูกกว่า

สิ่งที่เราทำคือสร้าง VM (สาธิต) แยกต่างหากและทำซ้ำการตั้งค่า prod บน Demo VM ก่อนที่จะเปลี่ยน / อัปเกรดสิ่งใดก็ตามเราจะทำการถ่ายภาพทั้ง VMs จากนั้นเราจะทดสอบการอัพเกรดบน Demo VM หากใช้งานได้ดีให้เปลี่ยน Prod

ฉันเดาว่าคุณสามารถค้นหาชุมชน (เช่น SE / SO) หากใครประสบปัญหากับปลั๊กอินที่คุณวางแผน


0

ฉันมักจะเรียกใช้อีกครั้งหรือสองครั้งบนฉลากสีเขียวล่าสุด (หรือเกือบเป็นสีเขียว) อย่างน้อยหนึ่งรายการในทุกโครงการ / สาขาที่เกี่ยวข้องที่ใช้ปลั๊กอินที่เกี่ยวข้องและตรวจสอบว่าฉันได้ผลลัพธ์เดียวกัน เพียงเพื่อจะอยู่ในด้านความปลอดภัย

ความคลาดเคลื่อนของผลลัพธ์ใด ๆ จะต้องได้รับการตรวจสอบเพื่อตรวจสอบว่าเกิดจากการอัปเดตปลั๊กอินหรือไม่ อาจจะมีการเรียกใช้อีกครั้งกับทั้งปลั๊กอินเก่าและใหม่


แน่นอนไม่มีปัญหา.
Dan Cornilescu

จากประสบการณ์ที่ผ่านมาความคิดเห็นของฉันมักไม่ได้รับความนิยมดังนั้นโดยทั่วไปฉันมักจะหลีกเลี่ยงสปอตไลท์ถ้าเป็นไปได้ :) ฉันไม่คุ้นเคยกับเครื่องมือ mod แต่ฉันไม่รังเกียจที่จะช่วยเหลือโดยเฉพาะอย่างยิ่งหากจำเป็น - ฉันมีความหวังสูงสำหรับเว็บไซต์นี้
Dan Cornilescu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.