คืออะไร CI/CD
การรวมและส่งมอบอย่างต่อเนื่อง
CI/CD (Continuous Integration / Continuous Delivery) — แนวปฏิบัติ DevOps สำหรับการทำให้การสร้าง ทดสอบ และปรับใช้แอปพลิเคชันเป็นอัตโนมัติ
CI — การรวมอย่างต่อเนื่อง
- สร้างอัตโนมัติทุกครั้งที่ commit
- รัน unit tests และ linters
- ตรวจจับข้อผิดพลาดการรวมตั้งแต่เนิ่นๆ
- feedback รวดเร็วสำหรับนักพัฒนา
CD — การส่งมอบ/ปรับใช้อย่างต่อเนื่อง
- Continuous Delivery — เตรียมพร้อมสำหรับ release อัตโนมัติ
- Continuous Deployment — ปรับใช้อัตโนมัติไปยัง production
- สภาพแวดล้อม staging และ production
- Rollback เมื่อเกิดข้อผิดพลาด
เครื่องมือยอดนิยม
- GitHub Actions — CI/CD ในตัวใน GitHub
- GitLab CI — CI/CD สำหรับ GitLab
- Jenkins — เซิร์ฟเวอร์อัตโนมัติโอเพ่นซอร์ส
- CircleCI, Travis CI — CI/CD บนคลาวด์
ประโยชน์
CI/CD เร่ง releases ลดความเสี่ยงข้อผิดพลาด และรับประกันคุณภาพโค้ดที่สม่ำเสมอ