เจาะลึก AWS CI/CD และ AWS CodeCommit สำหรับผู้เริ่มต้น
ทำความเข้าใจพื้นฐานการส่งมอบซอฟต์แวร์แบบอัตโนมัติด้วยชุดเครื่องมือจาก AWS พร้อมเจาะลึกการทำงานของ CodeCommit

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- CI/CD ช่วยอัตโนมัติกระบวนการส่งมอบซอฟต์แวร์ ลดข้อผิดพลาดจากการทำด้วยมือ
- AWS มีบริการหลัก 4 ตัว ได้แก่ CodeCommit, CodeBuild, CodeDeploy และ CodePipeline
- AWS CodeCommit ทำหน้าที่เป็น Git repository แบบจัดการเองโดย AWS คล้ายกับ GitHub
- แม้ AWS มี CodeCommit แต่หลายองค์กรยังนิยมใช้ GitHub หรือ GitLab เพื่อฟีเจอร์การทำงานร่วมกันที่ดีกว่า
หลังจากที่ได้เรียนรู้วิธีการสร้างโครงสร้างพื้นฐานบน AWS แบบแมนนวลในบทความก่อนหน้านี้ คำถามสำคัญที่มักตามมาคือ เราจะอัปเดตแอปพลิเคชันเวอร์ชันใหม่อย่างไรเมื่อนักพัฒนาทำการเปลี่ยนแปลงโค้ด หากวิศวกรฝ่ายปฏิบัติการต้องคอยทำสิ่งนี้ด้วยมือทุกครั้ง กระบวนการทั้งหมดจะเชื่องช้าและเสี่ยงต่อความผิดพลาดโดยง่าย
นี่คือจุดที่แนวคิด CI/CD เข้ามามีบทบาทสำคัญ กระบวนการนี้เปรียบเสมือนสายพานการผลิตในโรงงาน เมื่อขั้นตอนหนึ่งเสร็จสิ้น ผลิตภัณฑ์จะถูกส่งต่อไปยังขั้นตอนถัดไปโดยอัตโนมัติจนกว่าจะพร้อมส่งมอบให้ลูกค้า โดยหากคุณกำลังพัฒนาแอปพลิเคชันซื้อ
- จัดเตรียมไฟล์และแพ็กเกจแอปพลิเคชัน
- อัปโหลดไฟล์ขึ้นเซิร์ฟเวอร์ด้วยมือ
- ตรวจสอบความถูกต้องและรีสตาร์ทบริการ
ก่อนที่ AWS จะมีเครื่องมือของตนเอง องค์กรส่วนใหญ่ใช้แพลตฟอร์ม CI/CD ภายนอกที่ใช้งานได้กับทุกคลาวด์พกพา แต่ AWS ต้องการทางเลือกที่เป็นระบบจัดการแบบเบ็ดเสร็จ (fully managed) เพื่อลดภาระการดูแลรักษาโครงสร้างพื้นฐาน โดยชุดเครื่องมือหลัก 4 บริการประกอบด้วย AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy และ AWS CodePipeline

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
การใช้งานระบบ CI/CD บนคลาวด์ช่วยตัดปัญหาความยุ่งยากในการติดตั้งเซิร์ฟเวอร์ CI ของตัวเอง (เช่น การดูแล Jenkins หรือพอร์ตเชื่อมต่อต่างๆ) ทำให้ทีมนักพัฒนาโฟกัสกับการเขียนโค้ดฟีเจอร์ใหม่ได้เต็มที่ อย่างไรก็ตาม การเลือกใช้บริการจากผู้ให้บริการรายเดียว (Vendor Lock-in) ก็เป็นสิ่งที่องค์กรต้องชั่งน้ำหนักเทียบกับความสะดวกรวดเร็วในการติดตั้งใช้งาน
ในบรรดาเครื่องมือเหล่านี้ AWS CodeCommit ทำหน้าที่เป็นพื้นที่จัดเก็บซอร์สโค้ด Git ที่มีความปลอดภัยสูงภายในบัญชี AWS ของคุณเอง โดยจุดเด่นคือการรักษาความปลอดภัยระดับสูงและการทำงานร่วมกับระบบภายในของ AWS ได้อย่างไร้รอยต่อโดยไม่ต้องติดตั้งเซิร์ฟเวอร์ Git เอง
อย่างไรก็ตาม เนื่องจาก CodeCommit มีข้อจำกัดบางประการ ทำให้องค์กรจำนวนมากยังคงเลือกใช้ GitHub หรือ GitLab เป็นหลักในการจัดการซอร์สโค้ด แต่ยังคงผสานการทำงานร่วมกับ AWS CodeBuild, CodeDeploy และ CodePipeline สำหรับขั้นตอนการคอมไพล์ ทดสอบ และจัดส่งแอปพลิเคชันขึ้นสู่เซิร์ฟเวอร์เช่น EC2, ECS หรือ Lambda
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น