Code Deployment

แผนภูมิแสดงขั้นตอนของการส่งโค้ด (Code Deployment) ที่บริษัททั่วไปใช้ในการนำโค้ดไปยัง Production


1.Plan (วางแผน):

  • Product Owner สร้าง stories ใน Jira ซึ่งเป็นเครื่องมือที่ใช้ในการจัดการงานและติดตามความคืบหน้า


2.Development (การพัฒนา):

  • Developers รับ user stories มาและพัฒนาโค้ด
  • ครั้งที่โค้ดพร้อมแล้ว พวกเขาจะ Commit โค้ดนั้นเข้า Git โดยใช้เครื่องมืออย่าง GitHub และส่ง feedback กลับไปยัง Product Owner


3.Build & Package (การสร้างและแพคเกจ):

  • Jenkins ใช้ในการสร้างและทดสอบโค้ด (Build) รวมถึงการประเมินคุณภาพโค้ดด้วยเครื่องมืออย่าง JUnit, JaCoCo, และ SonarQube
  • เมื่อโค้ดผ่านการทดสอบและประเมินคุณภาพ จะถูกเก็บไว้ใน Jfrog Artifactory


4.Test (การทดสอบ):

  • โค้ดจะถูก Deploy ไปยัง Dev Environment ที่อยู่บน Cloud และทดสอบใน QA Environment โดยทีม QA โดยใช้การทดสอบต่างๆ อย่าง QA testing, regression testing, และ performance testing
  • ยังมีการทดสอบ UAT ก่อนที่จะย้ายไปยัง Production


5.Release (การปล่อย):

  • SRE (Site Reliability Engineering) จะมีหน้าที่ในการตรวจสอบและติดตามประสิทธิภาพ, การเตือน, และการแก้ไขปัญหาในระบบ
  • โค้ดที่ผ่านการทดสอบและได้รับการรับรองจะถูก Deploy ไปยัง Prod Environment บน Cloud และใช้เครื่องมือต่างๆ เพื่อติดตามประสิทธิภาพและเตือนเมื่อมีปัญหาเกิดขึ้น อย่าง Docker, Prometheus, และ Skywalking
  • ยังมีเทคนิคที่ชื่อว่า "Feature toggle", "canary deployment", และ "A/B test" เพื่อทดสอบการปล่อยคุณลักษณะใหม่ๆ และดูว่ามันมีผลต่อผู้ใช้อย่างไร


รูปแบบขั้นตอนที่แสดงในรูปนี้เป็นเพียงแบบแผนภูมิตัวอย่าง ในความเป็นจริง กระบวนการแต่ละขั้นตอนและเครื่องมือที่ใช้จะแตกต่างกันไปตามบริษัทและความต้องการเฉพาะของแต่ละโครงการ

0
155