CI/CD คืออะไร ?

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

nutapisit
PHP Hero Member
PHP Hero Member
โพสต์: 145
ลงทะเบียนเมื่อ: 21/06/2021 10:56 am

CI/CD คืออะไร ?

โพสต์ที่ยังไม่ได้อ่าน โดย nutapisit »

CI/CD คืออะไร ?

ในปัจจุบันนั้นการสร้างหรือพัฒนา เว็บไซต์ , แอปพลิเคชัน , โปรแกรม นั้นต้องใช้ผู้พัฒนาหลายคนในการทำงานและพัฒนา และในเมื่อมีผู้พัฒนาหลายคน ก็ย่อมมี Source Code หลาย Code เช่นกัน ซึ่งในการทำงานนั้นทางผู้พัฒนาทุกคนต้องนำ Source Code ของตัวเองและของผู้พัฒนาคนอื่นๆมาปรับและรวมเข้าด้วยกัน ซึ่งจะใช้เวลานาน และการจะแก้ไขก็ใช้เวลานานเช่นกัน และในปัจจุบันนั้นได้มีวิธีที่ชื่อว่า CI/CD ขึ้นมา ในการช่วยเหลือผู้พัฒนาให้ทำงานได้ง่ายยิ่งขึ้น มาทำความรู้จัก CI/CD ไปด้วยกันครับโดยมีใจความดังนี้
CI/CD นั้นคืออะไร
CI/CD นั้นคืออะไร
1.jpg (21.57 KiB) Viewed 772 times

CI/CD นั้นคืออะไร ?

CI หรือ Continuous Integration จะช่วยเหลือทางผู้พัฒนาในการ Merge Code ที่แก้ไขและจะส่งกลับไปยังแหล่งจัดเก็บ Code และเมื่อมีผู้พัฒนาคนอื่นในทีมมีการเปลี่ยนแปลงและแก้ไข Code ที่อยู่ในแหล่งจัดเก็บ CI จะช่วย Merge Code ให้กับทางผู้พัฒนา และทำการ Test เพื่อให้มั่นใจว่าการแก้ไขนั้นจะไม่มีผลหรือ bug ระหว่าง Code เดิมที่จัดเก็บอยู่ และ CI นั้นยังช่วยให้ทางผู้พัฒนานั้นง่ายต่อการค้นหาและไข bug

CD หรือ Continuous Delivery หรือ Continuous Deployment จากที่ผมได้ศึกษามานั้นทั้ง 2 คำนี้มีความหมายที่แตกค่างกันครับโดย

Continuous Delivery หมายถึง หลังจากที่ได้ผ่านการ Test ของทาง CI ข้างต้นแล้ว Continuous Delivery นั้นจะทำการส่งตัว Code ที่มีการตรวจสอบเรียบร้อยแล้วไปยังแหล่งจัดเก็บ และเป้าหมายและหน้าที่ของ Continuous Delivery คือการที่พร้อมจะนำตัว Code นั้ไปปรับใช้กับ Product ได้ตลอดเวลาครับ

Continuous Deployment หมายถึง โดย Continuous Deployment จะเป็นส่วนขยายเพิ่มมาจาก Delivery โดยจะเป็นการปล่อย Code ของเราจากแหล่งจัดเก็บไปยัง Product โดยอัตโนมัติ โดยส่วนนี้จะใช้งานโดยลูกค้า


โดยถ้าเรานำ CI และ CD มารวมกันนั้น ความหมายมีดังนี้

โดย CI/CD นั้นเป็นวิธีที่ช่วยทางผู้พัฒนาได้สร้างหรือพัฒนา เว็บไซต์ , แอปพลิเคชัน , โปรแกรม ได้งายมากขึ้นโดยมีการระบบอัตโนมัติไปใส่ในแต่ละขั้นตอน ซึ่งแนวคิด CI/CD นั้นเราจะเห็นได้ชัดเจนคือ Git โดยจะช่วยลดปัญหาในการ Merge Code หลายๆ Code ของเหล่าผู้พัฒนาได้ครับ

ประโยชน์ของ CI/CD
  • ช่วยลดปัญหาการแก้ไข Code
  • สามารถเช็คความแตกต่างของไฟล์ได้ว่าแก้ไขตรงไหนและ merge กันได้
  • ลดปัญหาการทำงานแบบแยกส่วน
  • มีความน่าเชื่อถือในการ Test

จะเห็นได้ว่า CI/CD นั้นเป็นประโยชน์ต่อผุ้พัฒนาเป็นอย่างมากเพราะวิธีนี้สามารถทำให้ทางผู้พัฒนาได้ทำงานได้ง่ายยิ่งขึ้น โดยเครื่องมือ CI/CD ที่เราได้เห็นทางผู้พัฒนาได้ใช้นั้นยกตัวอย่างที่เห็นได้ชัดเจนคือ Git และยังมีอื่นๆอีกมากมาย และผมหวังว่าบทความนี้จะเป็นประโยชน์ต่อทุกๆท่านนะครับ


แหล่งอ้างอิง :
https://www.flickr.com/photos/isantaclaus/15891138064/in/photolist-qdfeH3-wJdP5-2m2fHCQ-zVNfY-bkGdS-5Wu8Ks-52PjLV-4tvzbe-cDs5jf-R3horV-2jH5uQB-5bCnod-bn5D3q-7DagXC-GbLSso-ngWgW-5jYHDJ-2m1JAkb-5jYC7N-9safNo-9LvM3m-aNCR5H-5e4vqA-UCBehQ-adVjPr-5iVv1g-82y9uY-5qyCAN-4em5Gd-beFku-byzJe6-prJX3b-4gWDGV-8RWbVo-qTyYy6-qdZ4QG-raZVdk-qTxhfK-raUBaU-rb11pn-qdZ1iG-bxgGgZ-2g5mNYN-qTraiG-qTyXAV-qTz81B-qecqYD-r8GANS-qTz8vK-4SexF
https://articles.devsight.me/ci-cd-%E0%B9%83%E0%B8%99%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3-auto-deploy-code-frontend-vue-js-react-angular-ea69d4d5ab78
https://ichi.pro/th/ci-cd-khux-xari-ngay-khun-ni-200-kha-43171029843643
https://www.spicydog.org/blog/gitlab-ci-cd-1-introduction/

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 84