สวัสดีครับ วันนี้ผมจะมาขอแนะนำฟีเจอร์เด็ดของเครื่องมือที่ผมชอบมากตัวหนึ่ง นั่นก็คือ GitLab Pages นั่นเอง อธิบายสั้นๆ ก็คือ GitLab Pages เอาไว้โฮสเว็บไซต์แบบ Static คือมาแต่ฝั่ง HTML/CSS/JS นั่นเอง โดยที่เราไม่จำเป็นต้องตั้ง Server ของตัวเองเลย GitLab อาสาไปโฮสให้ฟรีๆ แต่ด้วยพลังของ GitLab CI/CD ทำให้มีการสร้างโปรแกรมขึ้นมาเพื่อ Generate Static Website กันบน Online ได้เลย หนึ่งตัวที่น่าสนใจก็คือ Hugo แต่อันนั้นจะเล่าในวันหลัง ส่วนวันนี้ผมจะมาสอนการใช้แบบพื้นฐานเป็น Plain HTML กันก่อน 🙂
Continue readingTag Archives: CI/CD Pipeline
GitLab CI บทที่ 2 GitLab Runner
ก่อนจะเริ่ม GitLab CI เราก็ต้องมารู้จักกับ GitLab Runner กันเสียก่อน GitLab Runner คือ Agent ที่จะคอยรันงานที่ส่งมาจาก GitLab นั่นเอง บางคนอาจคิดไปถึงว่า เราจะ Test โปรแกรมของเราได้อย่างไรในเมื่อ Environment ของเราไม่เหมือนกันคนอื่น บางคนเขียน Ruby บางคน Java บางคน Python อย่างนี้ก็ต้องสร้างเครื่องมาเฉพาะหมดเลยหรือเปล่า คำตอบก็คือ ใช่ และ ไม่ใช่ ที่บอกว่าใช่ ก็เพราะว่า เวลาจะทดสอบระบบอะไรนั้น เราก็ต้องทำ Environment ขึ้นมาแน่นอน อันนี้หลีกเลี่ยงไม่ได้ แต่ที่บอกว่าไม่ใช่ก็ตรงที่ว่า เราไม่ต้องสร้างเครื่องใหม่หลายๆ เครื่อง อย่าลืมว่ายุคนี้มี Docker แล้ว การจะตั้ง Containner ที่มี Environment อย่างที่เราต้องการเป็นเรื่องหมูๆ เอาจริงๆ แทบจะ Copy สคริปที่ชาวบ้านทำๆ กันเอาไว้มาใช้ ส่วนใหญ่ก็แทบจะใช้งานได้ทันทีถ้าเราพัฒนามาในรูปแบบที่คนส่วนใหญ่ทำกัน ซึ่ง GitLab Runner ก็อาศัยพวก VM เนี่ยล่ะในการในการทำให้เครื่องหนึ่งเครื่องเป็น Enviromment อะไรก็ได้ ซึ่งสำหรับผมจะเลือกใช้ Docker เป็นหลักครับ
อ่อ สำหรับคนที่ใช้ GitLab ที่มี Runner พร้อมใช้อยู่แล้ว อย่างเช่นคนที่จะใช้ Share Runner บน gitlab.com ก็สามารถข้ามบทนี้ไปได้เลยครับ Continue reading
GitLab CI/CD บทที่ 1 Introduction
กล่าวสวัสดีเพื่อนๆ ชาวโปรแกรมเมอร์ทั้งหลาย เมื่อไม่นานที่ผ่านมาผมได้มีโอกาสได้สัมผัสประสบการณ์การทำทำ CI/CD อย่างจริงๆ จังๆ ด้วย GitLab เนื่องด้วยส่วนตัวเป็นคนสนใจพยายามพัฒนาซอฟแวร์แบบเน้นคุณภาพมาแต่ต้นอยู่แล้ว สาเหตุเพราะความขี้เกียจมาตามแก้บั๊กในภายหลัง ก็เลยศึกษาหาหนทางที่ชาวบ้านเขาทำกันมานมนาน แต่ก็ด้วยความที่ก็ยังถือว่าเป็นเด็กน้อยในวงการและเป็นสายอินดี้ไม่ไปอยู่ บ.พัฒนาซอฟแวร์ใหญ่ๆ ก็เลยยังไม่ได้มีโอกาสสัมผัส CI/CD อย่างเพื่อนๆ เขา เพิ่งจะมาได้จับจริงๆ จังๆ ก็คราวนี้แหละ แล้วพอได้สัมผัสแล้วก็รู้สึกเห็นคุณค่าของมัน และอยากให้นักพัฒนาซอฟแวร์ที่มีแนวคิดแบบเดียวกันได้มีโอกาสพัฒนาตัวเองขึ้นๆ ไป จึงเกิดเป็นแรงอยากจะแบ่งปันประสบการณ์และเขียนเป็น Blog Series