@ratanon
1 year ago - 2023-10-24 02:56:42
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" เพื่อทดสอบการปล่อยคุณลักษณะใหม่ๆ และดูว่ามันมีผลต่อผู้ใช้อย่างไร
รูปแบบขั้นตอนที่แสดงในรูปนี้เป็นเพียงแบบแผนภูมิตัวอย่าง ในความเป็นจริง กระบวนการแต่ละขั้นตอนและเครื่องมือที่ใช้จะแตกต่างกันไปตามบริษัทและความต้องการเฉพาะของแต่ละโครงการ