
ก็เป็นเวลา 1 ปีนิดๆ มาแล้วที่พวกเรา Twin Synergy ได้ย้ายงานของเราทั้งหมดจาก Bitbucket มา Gitlab ซึ่งในตอนนั้นผมต้องการสิ่งที่มันจะสามารถทำ CI/CD ได้ และสามารถทำพวก Scrum board จัดการ Project ต่างๆ ได้ด้วย
หวยเลยมาออกที่เจ้า Gitlab ซึ่งผมว่าแม่งโครตคูล และคุ้มค่ามากๆ สำหรับทีม หรือบริษัทไหนที่พึ่งเริ่มต้นพัฒนาโปรแกรม และยังมีเงินทุนไม่มาก ซึ่งเดียวผมจะขอบอกความดีความชอบของมันให้ฟัง ว่าทำไมพวกเราถึงเลือกใช้งาน
เป็น Private repo บน Cloud
Gitlab นั้นมีสอง 2 แบบให้เลือกในการทำ Git repository คือใช้งานบน Cloud หรือจะติดตั้งที่เครื่อง Server เอง แต่ที่ผมเลือกใช้งานผ่าน Cloud นั้นเพราะผมไม่อยากมายุ่งยากเรื่องดูแล Server

สามารถทำ CI/CD ได้เลย
เมื่อเราเริ่มใช้งานก็สามารถเขียน CI/CD ได้เลยใน Project

ซึ่งเราสามารถเขียน Pipeline ของแต่ละ Repo ในรูปแบบ .yml
นั้นหมายความว่าสามารถที่จะเก็บ code นี้ไว้ใน git ได้เลย เดียววิธีการใช้งานผมจะเขียนบทความเพิ่มเติมให้อ่านกัน ใครใจร้อนก็ไปลุยใช้งานได้เลย https://docs.gitlab.com/ee/ci/yaml/README.html
Private docker registry ให้ใช้ต่อโปรเจค
สำหรับใครที่ทำ Docker สามารถทำ Docker image แล้วฝากไว้ที่นี่ได้เลย สะดวกสุดๆ
Private snippet ให้ใช้ต่อโปรเจค
ใครต้องการเก็บ code หรือค่าการใช้งานต่างๆ สามารถสร้างเป็นแบบ private เก็บไว้ โดยแยกเป็นแต่ละโปรเจคได้ ซึ่งเราสามารถโหลดไฟล์ที่สร้างไว้นำไปใช้อื่นได้ด้วย
ระบบ Wiki ให้ใช้ต่อโปรเจค
แน่นอนว่านอกจากการเขียนโค็ดแล้ว งานเอกสารก็สำคัญเช่นกัน เราสามารถเขียน wiki โดยแยกแต่ละโปรเจคได้ เพื่อเก็บข้อมูลวิธีการต่างๆ ไว้ได้
Secrets management
ในบ้างครั้งเราอาจจะต้องมีการเก็บรหัสผ่านหรือ Token ต่างๆ เพื่อใช้งานในโปรแกรม หากใครเขียนลงในโค็ดตรงๆ ถือว่าผิดบาปมาก วิธีการที่ดีที่สุดคือเก็บมันไว้ใน Secrets management แล้วค่อยนำค่ามันไปใช้ที่หลัง

โดยมันสามารถใช้งานร่วมกับ Piepline ได้ด้วย เช่น ตอนจะ Deploy ไปเซิฟเวอร์นั้นเราก็ให้มันเก็บ sshkey ไว้ แล้วเขียน pipeline ให้มันมาเรียกใช้ เป็นต้น
รองรับ Issue board
Issue board ก็เปรียบเทียบได้กับ Kanban board หรือ Scrum board โดยเราสามารถสร้าง issue แล้ว tracking เป็น branch ต่างๆ ได้เลยทำให้เราบริหารจัดการโปรเจคได้ง่ายขึ้น
มีระบบ Milestones
Milestones นั้นก็คือระบบที่สามารถทำเป็น Agile sprints ซึ่งก็คือการแบ่งกลุ่ม Issue ได้ว่า Issue ไหนทำวันไหนถึงวันไหน เราสามารถดูภาพรวมได้เลยว่าโปรเจคนี้จะจบภายในวันไหน

เริ่มต้นใช้งาน ฟรี!!!
Features ที่ผมกล่าวมาข้างต้นทั้งหมดคือ ฟรี!!! แค่นี้ผมก็ว่าเพียงพอแล้วสำหรับทีมพัฒนาโปรแกรมจำนวน 1-10 คน ซึ่งผมพึ่งจะยอมเสียเงินให้เมื่อกันยายนปี 2018 เองนะ เพราะต้องการใช้ Feature บ้างอย่างเพิ่ม โดยค่าเสียหายคือ 4$ ต่อผู้ใช้งานต่อเดือน แม่งถูกและคุ้มมากกกกกกกกก
ไปดูเพิ่มเอาเอง https://about.gitlab.com/pricing/
เหมือนขายของปะ? แค่อยากแนะนำว่าเครื่องมือดีๆ ให้ใช้เองนะ…. 🙂
A single application For the entire DevOps lifecycle.
– gitlab.com