ถาม: Jenkins คืออะไร
Jenkins คือเครื่องมือผสานการทำงานอย่างต่อเนื่องแบบโอเพนซอร์สที่เขียนขึ้นด้วย Java ซึ่งช่วยให้บริการการผสานการทำงานแบบกำหนดเองสำหรับการพัฒนาซอฟต์แวร์ โดยเป็นระบบที่อิงกับเซิร์ฟเวอร์ที่ถูกใช้โดยทีมพัฒนาจำนวนมาก
ถาม: ทำไมฉันจึงต้องใช้ Jenkins
คุณควรใช้ Jenkins หากคุณกำลังมองหาวิธีเร่งความเร็วให้กับวงจรการพัฒนาซอฟต์แวร์ (SDLC) ของคุณ Jenkins ช่วยให้คุณผสานการสร้าง, การติดตั้งใช้จริงและการทดสอบลงในสภาพแวดล้อมที่หลากหลาย พร้อมทั้งลดเวลารอสำหรับทีมพัฒนาของคุณลง ท้ายที่สุด เพราะมันช่วยใคุณให้การผสานการทำงานอย่างต่อเนื่อง Jenkins จึงเหมาะสมที่สุดสำหรับ DevOps และวิธีการแบบเอจายล์ที่ใช้วงจรการทวนที่รวดเร็ว
ถาม: ทำไมฉันจึงควรเรียกใช้ Jenkins บน AWS
AWS ให้ทรัพยากรโครงสร้างพื้นฐานที่เชื่อถือได้, ปรับขนาดได้และปลอดภัยที่เหมาะสำหรับการเรียกใช้แอปพลิเคชันอย่าง Jenkins ด้วยการเรียกใช้ Jenkins บนการประมวลผล AWS คุณจะจ่ายเฉพาะสิ่งที่คุณใช้และคุณสามารถปรับขนาดประสิทธิภาพเพิ่มขึ้นหรือลดลงเพื่อให้ตรงกับความต้องการเฉพาะของคุณได้
ถาม: ฉันจะเป็นเจ้าของสภาพแวดล้อม Jenkins ของฉันได้หรือไม่
ได้ - ทรัพยากรทั้งหมดที่ถูกสร้างขึ้นเมื่อใช้คู่มือการเริ่มต้นใช้งานนี้จะยังคงเป็นของคุณและจะยังคงอยู่ภายในบัญชีของคุณ ทรัพยากรเหล่านี้จะคงอยู่จนกระทั่งคุณตัดสินใจที่จะยกเลิกอินสแตนซ์ Amazon EC2
ถาม: ค่าใช้จ่ายของ Jenkins เป็นอย่างไร
Jenkins เป็นซอฟต์แวร์ฟรี, โอเพนซอร์ส คุณมีค่าใช้จ่ายเฉพาะโครงสร้างพื้นฐานที่จำเป็นที่ Jenkins เรียกใช้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับค่าใช้จ่าย ดูที่บริการที่ใช้และค่าใช้จ่าย
ถาม: ฉันจะรักษาความปลอดภัย Jenkins บน AWS ได้อย่างไร
คุณควรใช้กลุ่มความปลอดภัยและใช้รหัสผ่านที่มีความปลอดภัยสูง คุณควรตรวจสอบให้แน่ใจว่าอินสแตนซ์ EC2 ของคุณและการติดตั้ง Jenkins ทันสมัยโดยมีแพตช์ความปลอดภัยล่าสุด กลุ่มความปลอดภัยทำหน้าที่เป็นไฟร์วอลล์เสมือนแบบมีสถานะที่ควบคุมการรับส่งข้อมูลสำหรับหนึ่งอินสแตนซ์ขึ้นไป หากเป็นไปได้ ให้ปรับช่วง IP ให้แคบลงสู่เฉพาะที่อยู่ IP ต้นทางที่เกี่ยวข้องเท่านั้น ห้ามเปิดพอร์ต TCP หรือ UDP ภายนอกใด ๆ (TCP 80 และ 8080 ก็เพียงพอแล้ว) เมื่อทำการตั้งค่ารหัสผ่านสำหรับ Jenkins ให้ทำตามแนวทางปฏิบัติที่ดีที่สุดสำหรับรหัสผ่านตามปกติและใช้ตัวอักษรและตัวเลขตัวพิมพ์เล็กและตัวพิมพ์ใหญ่นอกเหนือจากสัญลักษณ์ (e.g. /, ., !, *…) คุณสามารถมั่นใจได้ว่าอินสแตนซ์ Amazon Linux ของคุณมีแพ็คเกจล่าสุดติดตั้งอยู่โดยการเรียกใช้การอัปเดต yum นี่ยังจะเป็นการอัปเดต Jenkins หากคุณได้ติดตั้งโดยการใช้ yum ตามขั้นตอนของคู่มือนี้
ถาม: ฉันสามารถเรียกใช้ Jenkins ในซับเน็ตส่วนตัวหรือไม่
คุณสามารถติดตั้ง Jenkins บนอินสแตนซ์ EC2 ที่เป็นส่วนหนึ่งของซับเน็ตสาธารณะหรือซับเน็ตส่วนตัวได้ หากคุณต้องการวางอินสแตนซ์นี้ในซับเน็ตส่วนตัว คุณจำเป็นต้องตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงฟรอนต์เอนด์ของ Jenkins หากคุณกำลังเชื่อมต่อผ่านอินเทอร์เน็ต คุณสามารถเลือกที่จะสร้าง กลุ่มเป้าหมาย Jenkins และใช้ Application Load Balancer เพื่อสร้างตำแหน่งข้อมูลสาธารณะเพื่อโฮสต์อินสแตนซ์ของคุณเป็นการส่วนตัว หากคุณกำลังเชื่อมต่อจากศูนย์ข้อมูลของคุณเอง คุณจะต้องสร้าง VPN หรือเชื่อมต่อกับ Jenkins ผ่านทาง Direct Connect
ถาม: ฉันจะปรับขนาด Jenkins ได้อย่างไร
มีหลายวิธีที่คุณจะสามารถมั่นใจได้ว่า Jenkins จะก้าวทันความต้องการ CI/CD ของคุณ วิธีที่ตรงไปตรงมาวิธีหนึ่งคือปรับขนาดอินสแตนซ์ EC2 ในแนวตั้งโดยการเปลี่ยน ขนาดอินสแตนซ์ อีกวิธีคือการกำหนดค่า Jenkins Amazon EC2 Container Service Plugin เพื่อ farm out สร้างงานให้กับงาน Slave ของ Jenkins บนคลัสเตอร์ ECS