6 คะแนน โดย GN⁺ 2026-01-26 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • แนะนำประสบการณ์การใช้งาน GitLab ระยะยาว โดยเน้นที่การจัดการโปรเจกต์ส่วนตัวและ การผสานรวม CI/CD
  • ในช่วงแรก การมี private repository ฟรี เป็นข้อได้เปรียบหลักเมื่อเทียบกับ GitHub และหลังจากนั้นเวิร์กโฟลว์ก็ลงตัวอย่างสมบูรณ์
  • ใช้งานฟีเจอร์ Container Registry บ่อยที่สุด โดยสามารถเก็บอิมเมจได้โดยไม่ต้องมีบัญชี Docker Hub แยกหรือต้องจัดการโทเคน
  • GitLab CI ถูกกล่าวถึงว่าเด่นในด้าน pipeline แบบอิงไฟล์คอนฟิก, shared runner ฟรี, และเอกสารที่ครบถ้วน
  • อย่างไรก็ตาม ความช้าของเว็บอินเทอร์เฟซ และ ฟีเจอร์ที่มากเกินไป ถูกชี้ว่าเป็นข้อเสีย และการใช้ GitHub กับ GitLab ควบคู่กันตามวัตถุประสงค์เป็นวิธีที่มีประสิทธิภาพที่สุด

พื้นหลังการใช้งาน GitLab

  • เริ่มใช้ GitLab ในช่วงที่ GitHub ยังคิดค่าบริการสำหรับ private repository และ GitLab ให้ private repository ฟรี
    • ทำให้สามารถจัดการหลายโปรเจกต์เชิงทดลองได้โดยไม่ต้องเปิดเผยสู่สาธารณะ
  • หลังจากนั้น GitHub ก็เริ่มใช้นโยบายฟรีเช่นกัน แต่เพราะได้สร้าง CI pipeline, Docker image และ deployment script ไว้โดยมี GitLab เป็นศูนย์กลางแล้ว จึงไม่จำเป็นต้องย้าย

ฟีเจอร์ Docker Registry

  • ทุกโปรเจกต์บน GitLab มี Container Registry รวมมาให้เป็นค่าเริ่มต้น
    • โฟลว์เรียบง่ายคือ build อิมเมจจาก local หรือ CI แล้ว push จากนั้นค่อย pull ไปใช้ในที่ที่ต้องการ
  • ไม่ต้องมีบัญชี Docker Hub แยกหรือจัดการโทเคน และไม่ต้องกังวลเรื่องข้อจำกัดการ pull
  • สำหรับโปรเจกต์ส่วนตัวถือว่าฟังก์ชันเพียงพอ และ ข้อจำกัดความจุ 10GB ก็แทบไม่เป็นปัญหาในทางปฏิบัติ
    • รักษาประสิทธิภาพการใช้พื้นที่ได้ด้วยการลบแท็กเก่าและการแชร์เลเยอร์

สภาพแวดล้อม CI/CD

  • GitLab CI ได้นำแนวคิด ‘CI แบบอิงไฟล์คอนฟิก’ มาใช้ตั้งแต่ช่วงแรก
    • เพียงเพิ่มไฟล์ .gitlab-ci.yml pipeline ก็จะทำงานอัตโนมัติ
    • คอนฟิกถูกเก็บไว้ในระบบ version control จึงสามารถติดตามสถานะของ pipeline ในอดีตได้
  • pipeline พื้นฐานประกอบด้วย การ build อิมเมจ·push·deployment แบบเลือกได้
    • ขั้น deployment สามารถควบคุมด้วยการ trigger แบบแมนนวลได้
  • shared runner ใช้งานได้ฟรีแต่ค่อนข้างช้า และหากจำเป็นก็สามารถติดตั้ง runner ของตัวเอง บน VPS ได้อย่างง่ายดาย
  • เอกสาร CI/CD มีปริมาณมากและครอบคลุมมาก และเมื่อคุ้นเคยกับแพตเทิร์นแล้วก็สามารถจัดการได้อย่างมีประสิทธิภาพด้วย การคัดลอกคอนฟิกเดิมมาใช้ซ้ำ

จุดที่ไม่สะดวก

  • ความเร็วของเว็บอินเทอร์เฟซ ช้า และมีช่วงรอระหว่างการสลับดู merge request, pipeline และ log
    • แม้ช่วงหลังดูเหมือนจะดีขึ้นบ้าง แต่ก็ยังช้ากว่า GitHub
  • มีปัญหาเรื่อง ฟีเจอร์มากเกินไป
    • แม้จะมีฟีเจอร์หลากหลายอย่าง issue tracking, wiki, package registry, security scanning ฯลฯ แต่สัดส่วนที่ใช้งานจริงมีเพียงราว 10%
    • อย่างไรก็ตาม เมื่อจำเป็นก็ยังมีข้อดีเชิงศักยภาพตรงที่สามารถใช้ฟีเจอร์ซึ่งมีมาให้ในตัวได้ทันที

ค่าใช้จ่ายและเวิร์กโฟลว์

  • กำลังรันโปรเจกต์ส่วนตัวประมาณ 12 โปรเจกต์ ได้ฟรี รวมทั้งโปรเจกต์ที่ยัง active และการทดลองที่หยุดไปแล้ว
  • GitLab ถูกแยกบทบาทเป็น พื้นที่ทำงานแบบ private ส่วน GitHub เป็น พื้นที่แชร์โปรเจกต์แบบ public
    • GitHub เหมาะกับการทำงานร่วมกันและการเพิ่มการมองเห็น ส่วน GitLab เหมาะกับการทดลองและการจัดการระบบอัตโนมัติ
  • โครงสร้างที่ใช้ทั้งสองแพลตฟอร์มควบคู่กันทำหน้าที่รักษา ความสมดุลและประสิทธิภาพของเวิร์กโฟลว์

3 ความคิดเห็น

 
spp00 2026-01-26

มีคนประเมินว่า GitLab เด่นเรื่อง CI/CD อยู่แล้ว

แต่สำหรับผม เพราะข้อจำกัดของบัญชีฟรี ต่อให้รองรับภาษาเกาหลี สุดท้ายก็ยังเผลอไปหยิบ GitHub มาใช้อยู่ดี

ส่วน Forgejo กับ Gitea ซึ่งเป็นฐานของมัน ก็ให้ความรู้สึกเหมือน GitHub เลียนแบบ เลยไม่ค่อยอยากใช้ครับ

 
wedding 2026-01-27

พวกเราใช้ Gitea อยู่ครับ เลยนำมาใช้เพราะมีเส้นโค้งการเรียนรู้ต่ำจากภาพลักษณ์ที่คล้ายของต้นฉบับนั้น
ส่วน GitLab มีเสียงสะท้อนเยอะว่าฟังก์ชันเยอะเกินไป ทำให้ใช้งานยาก และค่อนข้างหนัก..

 
GN⁺ 2026-01-26
ความคิดเห็นจาก Hacker News
  • เคยชอบ GitLab มากพอสมควร แต่หลัง IPO ก็รู้สึกว่ามันไล่ตามความหวือหวาแทนคุณภาพ
    เจ้าหน้าที่ฝ่ายซัพพอร์ตลูกค้าหายไป และทุกคำถามต้องผ่านทีมขาย โดยฟีเจอร์ส่วนใหญ่ก็ถูกผูกไว้กับแพ็กเกจ Ultimate ราคาแพง
    ฟีเจอร์ที่ไม่ใช่ “AI” ก็ถูกปล่อยทิ้งไว้ทั้งที่มีปัญหาเดิมมาหลายปี
    ตอนนี้เลยกลายเป็นว่าทุกครั้งที่มีอีเมลจากฝ่ายขายเข้ามา ก็จะเล่นเกมว่า “เมื่อไหร่จะได้เห็นความเร็วในการพัฒนาแบบเมื่อก่อนอีกนะ?”
    • จริง ๆ แล้ว GitLab ก็ เน้นภาพลักษณ์ภายนอก มาตั้งแต่ก่อนหน้านั้นแล้ว
      ช่วงราว ๆ 2015~2020 ใช้อย่างสนุกดี แต่ทุกฟีเจอร์ยังหยาบ ๆ และเน้นเติมเช็กลิสต์ฟีเจอร์มากกว่าความสมบูรณ์
      ถ้าทีมเล็กต้องแข่งกับบริษัทใหญ่ นี่อาจเป็นทางเลือกที่เลี่ยงไม่ได้ก็ได้
  • เว็บอินเทอร์เฟซของ GitLab ให้ความรู้สึกว่า ช้า มาตลอด
    ผ่านมา 10 ปีก็ยังเหมือนเดิม ส่วน Gitea กับ Forgejo เร็วกว่าเยอะ และหลัง Go 1.26 ออกก็น่าจะยิ่งดีขึ้นอีก
    • ผมใช้แค่เป็นรีโมตรีโพสำหรับโปรเจกต์ส่วนตัว แต่เพราะ อินเทอร์เฟซหน่วง กับการตรวจสอบเบราว์เซอร์เป็นระยะ ๆ เลยปิดบัญชีไปแล้ว
    • คิดว่านี่เป็น ปัญหาเชิงโครงสร้างพื้นฐาน ของ GitLab
      โดยเฉพาะความเร็วในการค้นหา issue ที่ช้ามาก จนไม่คิดจะกลับไปใช้อีก
    • ประสบการณ์ของผมกลับกัน
      ปี 2018 ย้ายจาก Bitbucket กับ Confluence มา GitLab Cloud แล้วพบว่าผลิตภัณฑ์ของ Atlassian ช้ากว่าและซับซ้อนกว่ามาก
      GitLab ให้ความรู้สึกเบาและเร็วกว่า และตอนนี้ก็ยังใช้งานได้ดีเป็นส่วนใหญ่
      พอลองใช้ Jira Cloud ล่าสุด ก็รู้สึกว่าช้ากว่าและใช้งานลำบากกว่ามาก
    • แค่ เปิดใช้ CI/CD ก็ยังกิน CPU core หนึ่งคอร์ค้างไว้ตลอด
      เป็นพฤติกรรมที่น่าตกใจจริง ๆ
    • เหมือนความต่างระหว่างรถบรรทุกกับรถคันเล็ก GitLab เป็นของ ระดับองค์กร เลยช้าก็แทบจะเลี่ยงไม่ได้
  • ใช้ GitLab มาตั้งแต่ยุคแรก ๆ แต่ช่วงหลัง ย้ายไป Forgejo แล้ว
    การใช้พลังงานของเซิร์ฟเวอร์ลดลง 10% และ GitLab มีฟีเจอร์ที่ไม่จำเป็นเยอะเกินไปจน UI อึดอัด
    Forgejo เรียบง่ายและซ่อนฟีเจอร์ตามโปรเจกต์ได้
    แต่ก็ยังไม่มี auto update ความสมบูรณ์ต่ำกว่า และบางฟีเจอร์ทำงานไม่ค่อยถูกต้อง
  • ดีไซน์เว็บไซต์ ของบทความนี้ยอดเยี่ยมมาก
    ไม่แน่ใจว่าเป็นธีม Jekyll หรือทำขึ้นเอง แต่แค่การนำทางในเว็บก็สนุกแล้ว
    • เป็นหนึ่งในไม่กี่ตัวอย่างที่ทำ ธีมมืด ออกมาได้น่าดูมาก
    • ไอเดียที่แสดง Markdown ตรง ๆ ทำให้รู้สึกว่า ดูมีรสนิยม
    • คิดว่าเป็นเว็บไซต์ส่วนตัวที่ยอดเยี่ยมจริง ๆ
  • เพราะอินเทอร์เฟซของ GitLab ช้าเลย เปลี่ยนไปใช้ Forgejo
    ยังมี CI, issue tracking และสิ่งที่ต้องใช้ครบเหมือนเดิม แต่อินเทอร์เฟซโหลดขึ้นมาทันทีและไม่มีฟีเจอร์เกินจำเป็น
    • ผมก็ย้ายไป Forgejo ด้วยเหตุผลเดียวกัน และ ความเร็วกับประสิทธิภาพการใช้ทรัพยากร อยู่แค่ประมาณ 10% ของ GitLab
      ผมชอบ syntax ของ GitLab CI มากกว่า แต่ API ของ Forgejo ยังขัดเกลามาไม่ดีเท่า
      ถึงอย่างนั้นก็ยังเข้าถึง DB โดยตรงได้ เลยแก้ด้วยสคริปต์ custom ได้
    • ความเบาของ Forgejo ทำให้ตั้งค่า สภาพแวดล้อมพัฒนา ArgoCD แบบ local ได้ง่าย
      ยก Kubernetes cluster ขึ้นมาแล้วเชื่อม Forgejo กับ Argo เพื่อทดสอบ
    • กำลังคิดอยู่ว่าการย้ายโปรเจกต์โอเพนซอร์สไป Forgejo จะมีความหมายไหม
      ไม่แน่ใจว่าควรใช้ทรัพยากรของ Codeberg แทน Microsoft หรือเปล่า
    • เคยลองใช้แป๊บเดียวแต่รู้สึกว่า เร็วมากและสะอาดตา
      เห็นว่า CI น่าจะใช้โปรเจกต์ชื่อ Woodpecker เลยสงสัยว่าเทียบกับ GitLab CI แล้วเป็นอย่างไร
    • ระบบ code review ของ Forgejo ตามแนวทาง GitHub มาตรง ๆ เลย บังคับ workflow ที่ไม่มีประสิทธิภาพ
      GitLab แม้จะไม่ถึงระดับ Gerrit แต่ก็รองรับ stackable MR และยังดูคอมเมนต์ได้แม้จะ force push ไปแล้ว
      คิดว่าวัฒนธรรมแบบ GitHub ที่ยึด PR ขนาดใหญ่เป็นศูนย์กลางนั้นทำร้ายทั้ง productivity และวัฒนธรรมการรีวิว
  • ใช้ GitLab ในงาน และโดยรวมแล้ว ตรงไปตรงมาและใช้งานง่าย
    ฟังก์ชันแอดมินอย่างการตั้งค่า LDAP sync ยังมีจุดให้ปรับปรุง แต่ syntax ของ CI/CD โดยรวมถือว่าสะดวก
    • GitLab CI ทรงพลัง แต่ บั๊กเยอะเกินไปและ syntax ของ YAML ก็ใช้งานลำบาก
      ช่วง 2021~2024 ใช้ทุกวันจนถึงขั้นต้องจดบันทึก bug log แยกไว้เอง
      เคยเขียนประสบการณ์ไว้ในคอมเมนต์ก่อนหน้า
    • UI ซับซ้อนเกินไป จนใช้งานยากกว่า GitHub มาก
  • ปัญหาของ GitLab คือ ฟีเจอร์มากเกินจำเป็น
    issue tracker แบบเรียบง่ายของ GitHub ใช้งานง่ายกว่ามาก
    ผู้จัดการโปรเจกต์อาจชอบ GitLab แต่ในมุมผู้ใช้รู้สึกว่า GitHub ดีกว่า
    • ฟีเจอร์เยอะก็จริง แต่ คุณภาพของการ implement ต่ำ
    • เคยใช้ GitLab ในบริษัท แต่แม้กระทั่ง การหา source code ธรรมดา ๆ ก็ยังซับซ้อน
      ตอนนี้ใช้ GitHub อยู่ ซึ่งง่ายและมีประสิทธิภาพกว่ามาก
      เกลียด GitLab จริง ๆ
  • ขีดจำกัด 10GB ต่อโปรเจกต์ดูเหมือนจะน้อย แต่ในทางปฏิบัติแทบจะไม่ชนเลย
    สำหรับ Docker image จะมีแค่ ข้อจำกัดต่อเลเยอร์ และขนาดรวมทั้งหมดอาจใหญ่กว่านั้นได้มาก
    เอกสารที่เกี่ยวข้อง: Storage Usage Quotas, Container Registry Issue
    • สงสัยว่ามีใครเคยลอง push หนัง 4K เข้า GitLab โดยแบ่งเป็นหลาย Docker layer ไหม
      อยากลองอัปโหลด Interstellar REMUX ขนาด 70GB ดู
    • ถ้าแต่ละเลเยอร์ต่ำกว่า 10GB จะหมายความว่าสามารถ push/pull ได้ไม่จำกัด หรือเปล่า อยากเช็กให้ชัด
  • GitLab มีข้อดีเรื่องอินเทอร์เฟซแบบรวมศูนย์ แต่ก็มี ความน่าหงุดหงิดจุกจิก เยอะมาก
    รูปแบบ “กำลังจะทำอะไรบางอย่าง → error → ค้นหา → เจอรายงานบั๊กทางการที่มีอายุ 3~8 ปี” เกิดซ้ำไปซ้ำมา
    ฟีเจอร์จำนวนมากยังอยู่แค่ระดับความสมบูรณ์แบบ 80/20 และหน้า MR ก็ช้าจนน่าทรมาน
    • ผมก็มีประสบการณ์แบบเดียวกัน และในทีมลูกค้าเก่าก็ถึงขั้น กลายเป็นมีม กันเลย
      เคยเขียนเรื่องนี้ไว้ในคอมเมนต์ก่อนหน้า
  • บริษัทเปลี่ยนมาใช้ GitLab เมื่อ 5 ปีก่อน และแม้ ฟีเจอร์จะเยอะ แต่ความเร็วช้า
    ชอบตรงที่รวม Maven, NPM, Python package registry เข้ากับ CI pipeline ได้
    แต่ฟีเจอร์มันเยอะเกินไป และทุกหน้าก็ช้ากว่าเดิมประมาณสองเท่า
    • เมื่อก่อนใช้ Stash แล้วค่อยย้ายมา GitLab ซึ่งตอนนั้นรู้สึกว่าทั้งเร็วและฟีเจอร์ครบมาก
      หลังจากนั้นเปลี่ยนไป Azure DevOps ซึ่ง ช้าและ quality gate ก็ไม่ดี
      พอ build server เปลี่ยนเป็น VM แล้ว build ก็ช้าลงเพราะข้อจำกัด IOPS
      อยากกลับไปใช้ GitLab และยินดีช่วยพัฒนาด้านประสิทธิภาพด้วย