© 2018 Moonlight Academy.

ค้นหา
  • moonlight-academy

สิ่งที่ได้จากคอร์ส CI/CD with GitLab รุ่นที่ 1



สวัสดีครับ ห่างหายกันไปสักพักที่ผมไม่ได้อัพเดทข่าวสารหรือได้แบ่งปันความรู้เลย สืบเนื่องจากช่วงนี้ผมนำ Moonlight Academy ไปเข้าโครงการบ่มเพาะธุรกิจกับ สวทช และสวมหมวกอีกใบเป็น CTO ของ Regitail ที่เรากำลังทำโปรเจ็คเกี่ยวกับเรื่องการพัฒนาร้านโชว์ห่วย ให้สามารถแข่งขันกับร้านสะดวกซื้อได้ ช่วงนี้เลยค่อนข้างวุ่นวายเลยทีเดียวครับ


เอาล่ะเรามาเข้าเรื่องกันเลยดีกว่า คือเมื่อวันที่ 14 กันยายนที่ผ่านมา ผมได้ทดลอง pilot test หลักสูตรตัวใหม่ของเราไปชื่อว่า CI/CD with GitLab ซึ่งจัดที่จังหวัดระยองเมืองแห่งโรงงานอุตสาหกรรม โดยในวันนั้นมีผู้เข้าร่วมการอบรมด้วยกัน 4 ท่าน โดย 3 ท่านแรกมาจากเครือโรงงานใหญ่เบอร์ต้นๆ ของไทย 3 ส่วนอีกท่านมาจากบริษัทสตาร์ทอัพในชลบุรีครับ


เนื้อหาในวันนั้นก็จะเป็นเวิร์กช็อปที่ให้ทุกท่านได้ลองใช้งาน GitLab นำมาสร้าง CI/CD pipeline ขึ้นมากันตั้งแต่แก้ไข source code ไปจนถึง deploy ขึ้นสู่ server ของเราโดยจะมีการแบ่ง environment ต่างทั้ง dev, staging และ production เหมือนการทำงานจริงแทบทุกอย่าง เพื่อที่จะให้ทุกท่านที่มาสามารถนำกลับไปใช้งานต่อได้จริงๆ


ซึ่งหลังจากที่จบในวันที่ 2 ผมก็ได้เปิดให้ทุกท่านลองรีวิวเนื้อหา และคิดว่าจะเอาไปประยุกต์ใช้งาานกันอย่างไรได้บ้าง ซึ่งมีประเด็นที่น่าสนใจอยู่ 2 ประเด็นด้วยกันครับ



ประเด็นแรกมาจากท่านที่อยู่บริษัทยักษ์ใหญ่ของประเทศ ซึ่งใน scope ที่เขาดูแลอยู่นั้นจะเป็นเรื่องการดูแลแอพต่างๆ ที่มีอยู่ในระบบกล่าวสั้นก็คือเป็นส่วนงาน Operation ในหลักการของ DevOps นั้นเอง โดยปัญหาในฝั่งของ Ops นั้นที่เขาได้เจอมาก็คือเรื่องของการรักษาคุณภาพของแอพฯ ครับ


เนื่องจากแอพฯ ส่วนใหญ่ที่มีนั้นถูกพัฒนามาจาก vendor หลายเจ้าและแต่ละเจ้าจะมีกระบวนการพัฒนาโปรแกรมที่แตกต่างกัน บางเจ้าอาจจะมีการ test ที่รัดกุมแต่ส่วนใหญ่กลับไม่เป็นเช่นนั้น จึงทำให้มีการพบปัญหาในการใช้งานบน production อยู่บ่อยครั้ง และด้วยที่บริษัทมีการใช้งาน GitLab แบบ self-hosted อยู่พอดีจึงคิดว่าน่าจะเอาไปอุดช่องโหว่ในเรื่อง Quality ตรงนี้ได้


เนื่องจากถ้าเรานำกระบวนการพัฒนาโปรแกรมทั้งหมดมาแตกออกมาเป็น pipeline เราก็จะมองเห็นกระบวนการทั้งหมดว่ามีขั้นตอนอะไรบ้าง การ test โปรแกรมเป็นอย่างไร test ครอบคลุมหรือไม่สามารถมองเห็นได้ทันที และเมื่อนำมาผูกกับ SonarQube แล้วก็จะสามารถช่วยวิเคราะห์ได้ว่าแอพที่ได้มานั้นมีคุณภาพมากแค่ไหนก่อนที่จะมีการ deploy ขึ้นไปให้ user ได้ใช้งานจริงๆ


ส่วนอีกเคสนึงมาจากฝั่งของผู้ประกอบการสตาร์ทอัพของเมืองชล โดยผลิตภัณฑ์หลักของบริษัทจะเป็นตัวระบบ VPN ที่มีให้บริการอยู่หลาย server มากๆ โดยในแต่ละ server ก็จะมีการติดตั้งแอพเอาไว้รันระบบ VPN ข้างใน ซึ่งเมื่อไหร่ที่มีการอัพเดทเวอร์ชั่นของโปรแกรมก็ต้องไล่ remote เข้าไปแก้กันแต่ละ server กันเลยทีเดียว แต่พอได้ลองเล่นในเวิร์กช็อปทั้ง 2 วันก็คิดว่าน่าจะสามารถนำไปประยุกต์ใช้ในงานจริงๆ ได้อย่างแน่นอน โดยเฉพาะในเรื่องของ Continuous Delivery ที่จะทำให้เราสามารถ deploy โปรแกรมได้อย่างอัตโนมัติ แถมยังลดความผิดพลาดที่จะเกิดขึ้นจาก human error ได้อีกด้วย


เนื่องจากในปัจจุบัน GitLab ไม่ได้วาง positioning ตัวเองไว้ที่ source code management ที่ใช้ Git อย่างเดียวแล้ว แต่กลับเรียกตัวเองไว้ว่า GitLab is a complete DevOps platform ที่เป็นแพลตฟอร์มครบวงจรสำหรับ DevOps นั่นเอง


สำหรับท่านใดที่สนใจเวิร์กช็อปตัวนี้ ตอนนี้เรากำลังเปิดรับสมัครรุ่นที่ 2 แล้วนะครับ โดยในรุ่นนี้ไม่ต้องถ่อมาเรียนไกลถึงระยองแล้ว แต่เราจะไปจัดให้ถึงที่ กทม เลยทีเดียว โดยจะจัดขึ้นทั้งหมด 2 วันในวันที่ 26 - 27 ต.ค. 62 ที่จะถึงนี้ ที่ The Rabbit Hub ใกล้สถานี BTS พญาไท รับจำนวนจำกัดไม่เกิน 20 ท่านถ้าเยอะเกินไปผู้สอนเกรงว่าจะดูแลไม่ทั่วถึง ต้องกราบขออภัยมา ณ ที่นี้ด้วยจริงๆ


ค่าใช้จ่ายทั้ง 2 วันจะอยู่ที่ท่านละ 5,950 บาทแต่ถ้าชวนเพื่อนมาสมัครด้วยกันจะเหลือเพียงท่านละ 4,950 บาทเท่านั้น สนใจสามารถสมัครได้ที่ลิ้งด้านล่างเลยครับ

https://www.moonlight-academy.com/ci-cd-with-gitlab


ดู 444 ครั้ง