[GitLab] คืออะไร เริ่มใช้งานเบื้องต้น

Jedsada Saengow
JED-NG
Published in
5 min readJun 4, 2018

GitLab คือ Software ที่จัดการ Git Repository และยังสามารถจัดการ CI/CD (Continuous integration and Continuous delivery) ได้อีกด้วย

เมื่อวันที่ 4 มิถุนายน 2561 มี ชาว Open source จำนวนไม่น้อยได้ย้่าย Repo จาก GitHub ไปที่ GitLab เพราะ GitHub ที่เป็นขวัญใจของพวกเขา ถูกซื้อไปโดย Microsoft ตามข่าวอย่างเป็นทางการจากเว็บ Blognone ตามลิงค์ด้านล่าง

มีกระแสความคิดเห็นของท่านที่ทำงานในสายนี้ทั้งเห็นด้วยและไม่เห็นด้วย แต่ด้วยเหตุผลอะไรก็แล้วแต่ ก็มีข่าวออกมาว่าทีมพัฒนา Open source หลาย ๆ เจ้าได้มีการย้ายระบบไปที่ GitLab ตั้งแต่ข่าวการซื้อของ Microsoft ยังไม่ได้รับการยืนยัน

ซึ่งอาจจะเป็นเรื่องหลัก 2 เรื่องตามข่าวของ blognone คือ Gitlab มีเครื่องมือสำหรับ CI/CD ซึ่ง GitHub ไม่มี และอีกข้อคือ GitLab เปลี่ยนนโยบายเลิกบังคับ Contributor License Agreement (CLA)

ล่าสุด 6 มิถุนายน 2561 มีบทความสรุปที่น่าสนใจของพี่ SOMKIAT ที่ได้สรุปข่าวทั้งหมดเกี่ยวกับ #movingtogitlab ไว้ด้วยครับ

ด้วยเรื่องราวทั้งหมดนี้ ที่ทำให้มีผู้ใช้ Gitlab มากขึ้น จึงเป็นที่น่าสนใจที่ทางผู้เขียนจะลองมาทำความรู้จักกับเจ้า GitLab ครับ

ความสามารถของ GitLab

สามารถทำได้หลายอย่างมาก ๆ เช่น

  • จัดการ Project หรือ Repository
  • Graph, Charts สำหรับ Project หรือ Repository
  • List, Boards สำหรับ Issue
  • Pipeline, Jobs, Schedules, Environments สำหรับ CI/CD

แต่สำหรับบทความนี้ทางผู้เขียนจะใช้งานเฉพาะการ Create project เท่านั้นครับโดยใช้ 2 วิธีคือ

  • Blank project
  • Import project (จาก GitHub)

ส่วนเรื่อง Pricing จะมี 2 แบบคือ

ซึ่งท่านผู้อ่านสามารถคลิกที่ลิงค์เพื่ออ่านรายละเอียดเพิ่มเติมได้เลยครับ

เริ่มต้นที่ Register เพื่อใช้งาน GitLab

ให้เข้าไปที่หน้าเว็บของ GitLab ตามลิงค์ด้านล่าง และเลือกเมนู Sign In/Register

จากนั้นจะพบกับหน้าจอ Sign In/Register ตามด้านภาพด้านล่าง โดย GitLab ก็มีหลายทางเลือก ท่านผู้อ่านสามารถเลือกวิธี Sign In/Register ได้ตามสะดวก (ทางผู้เขียนเลือกวิธี Sign In ด้วย Google ครับ)

ถัดไปจะพบกับหน้าจอดังนี้

ทาง GitLab จะให้สร้าง Project ก่อนเป็นอันดับแรก โดยที่การสร้าง Project นั้น สามารถสร้าง Group ได้ด้วย ซึ่งจะช่วยในการจำแนก Project หรือ Repository ให้เป็นหมวดหมู่ได้ตามสะดวก

Create a group

เริ่มที่ Create a group ก่อน (ถึงแม้จะเป็นหัวข้อที่อยู่หลัง Create a project ก็เถอะ) เมื่อคลิกแล้วจะพบกับภาพด้านล่าง

เรื่อง Group ไม่ต่างกับ GitHub และ Bitbucket ส่วน Visibility Level เมื่อเรากำหนดแล้ว ทุก Repository ที่อยู่ภายใต้ Group นี้ จะถูก Default ให้เป็นค่าตาม Group ครับ

Create a Project

ย้อนกลับมาที่หัวข้อ Create a Project ซึ่งเป็นหัวข้อแรก เมื่อคลิกแล้วจะพบกับหน้าจอโดยมี 4 ตัวเลือก ดังภาพด้านล่าง

ซึ่งต้องบอกว่าครบเครื่องเอาเรื่องเหมือนกัน โดยเฉพาะตัวเลือก Import project ค่อนข้างสะดวกมาก แถมยัง Import ได้หลายเจ้าด้วย รู้สึก Wow เลยครับ

Blank project

เริ่มแรกจะขอลองเล่น Blank project โดยทางผู้เขียนระบุรายละเอีย และคลิกที่ Create project ดังภาพด้านล่าง

เมื่อได้ Project หรือว่า Repository แล้ว จะมี Warning เกี่ยวกับ Add SSH key ให้ท่านผู้อ่านคลิก add an SSH ในแถบสีเหลืองเข้มด้านบน โดยวิธีการตั้งค่า สามารถดูได้ที่ลิงค์ด้านล่าง

อันดับต่อไปจะเพิ่มไฟล์ README.md และ LICENSE โดยเลือกลงมาข้างล่างเล็กน้อย จะพบกับปุ่มสำหรับเพิ่มไฟล์ทั้ง 2 ครับ

เริ่มแรก Add Readme ก่อน โดยทางผู้เขียนระบุรายละเอียดดังภาพด้านล่าง

เรียบร้อยครับ ต่อไป Add License

เมื่อเพิ่มทั้ง 2 ไฟล์แล้ว ต่อไปทางผู้เขียนจะทดสอบการใช้ Git ครับ โดยเริ่มจาก Clone Project ก่อน

จากนั้นจะทำการสร้าง dev branch ขึ้นมาและเพิ่มไฟล์ version.txt เข้าไปโดยใช้คำสั่งทั้งหมดดังภาพด้านล่าง

git checkout -b dev
git add .
git commit -m "add version.txt"
git push --set-upstream origin dev

และเมื่อกลับไปดูที่เว็บ GitLab ก็จะเห็นไฟล์และ branch ที่เพิ่มเข้ามาดังภาพ

ถือเป็นอันทดสอบ Create a project ด้วยหัวข้อ Blank project สำเร็จ

Import project

โดยทางผู้เขียน เลือก Import จาก GitHub เมื่อเลือกแล้วจะเข้ามาที่หน้าจอ GitHub import จากนั้นให้เลือก List your GitHub repositories และจะพบกับ Step การ OAuth ให้ทำตาม Step ให้เรียบร้อย

จากนั้นเราจะพบกับ Repositories ทั้งหมดที่อยู่บน GitHub ให้ทำการเลือก Import ได้เลยครับ

รอจนกว่าจะเสร็จ (ทางผู้เขียนรอมา 3 ชม. แล้วไม่เสร็จซักที ไม่แน่ใจว่ามีปัญหาอะไร ถ้าเสร็จแล้วจะมาอัพเดทนะครับ)
อัพเดทจากภาพบนครับ ใช้เวลาทั้งหมด 14 ชม. เสร็จ Repo เดียวจาก 4 ตัว เข้าใจว่าน่าจะเป็นเพราะ Import GitHub สำหรับวันนี้ (04 มิถุนายน 2561) คนใช้เยอะ

ถือว่าการทดสอบ Create a project ด้วยการ import เป็นอันสำเร็จ

สรุป

GitLab เป็นเครื่องมือที่น่าจับตามองมากในช่วงที่ GitHub มีการเปลี่ยนแปลง เนื่องด้วยความสามารถของ GitLab ที่คลอบคลุมถึงเรื่อง CI/CD แต่ยังคงมีลักษณะการใช้งานที่ใกล้เคียงกับ GitHub (ต่างกับ BitBucket) และมีความเคลื่อนไหวของทีมพัฒนา Open source อีกมากมายที่มาสร้าง Repo ใน GitLab กันรัว ๆ (บ้างก็ว่าเจ็บกับ Microsoft ซึ่งเรื่องนี้ผมเข้าไม่ถึง เพราะเพิ่งทำงาน Dev แค่ 3–4 ปี)

บทความนี้ขอจบแต่เพียงเท่านี้ หากผู้เขียนสะดวกและได้ลองเล่น GitLab ได้อย่างเข้าใจมากขึ้นแล้ว สัญญาว่าจะมาแชร์ให้ในบทความต่อไปนะครับ ขอบคุณมากครับที่ได้เข้ามาอ่าน มารับชม 😍 😍

หากท่านผู้อ่านมีคำถามหรือข้อสงสัย หรือมีคำแนะนำ อยากติชม สามารถติดต่อผู้เขียนได้เลยครับ

Reference

--

--