6 điểm bởi GN⁺ 2026-01-26 | 3 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu trải nghiệm sử dụng GitLab trong thời gian dài, tập trung vào quản lý dự án cá nhân và tích hợp CI/CD
  • Ban đầu, cung cấp kho lưu trữ riêng tư miễn phí là ưu điểm lớn của GitLab so với GitHub, và về sau quy trình làm việc cũng đã hoàn toàn ổn định trên nền tảng này
  • Tính năng Container Registry là thứ được dùng thường xuyên nhất, cho phép lưu trữ image mà không cần tài khoản Docker Hub hay quản lý token riêng
  • GitLab CI được nhắc đến với các điểm mạnh chính như pipeline dựa trên tệp cấu hình, shared runner miễn phí và tài liệu phong phú
  • Tuy vậy, tốc độ giao diện web chậmquá nhiều tính năng là các nhược điểm được chỉ ra; cách dùng song song GitHub và GitLab theo từng mục đích được xem là hiệu quả nhất

Bối cảnh sử dụng GitLab

  • Bắt đầu dùng GitLab vào thời GitHub còn tính phí cho kho lưu trữ riêng tư vì GitLab cung cấp kho riêng tư miễn phí
    • Có thể quản lý nhiều dự án thử nghiệm mà không cần công khai chúng
  • Sau đó GitHub cũng áp dụng chính sách miễn phí, nhưng khi ấy pipeline CI, image Docker và script triển khai đã được xây dựng xoay quanh GitLab nên không còn lý do cần chuyển đổi

Tính năng Docker Registry

  • Mọi dự án GitLab đều mặc định đi kèm Container Registry
    • Quy trình rất đơn giản: build image ở máy local hoặc trong CI rồi push lên, sau đó pull ở nơi cần dùng
  • Không cần tài khoản Docker Hub hay quản lý token riêng, cũng không phải lo về giới hạn pull
  • Với dự án cá nhân, bộ tính năng này là hoàn toàn đủ dùng, và giới hạn dung lượng 10GB trên thực tế cũng không thành vấn đề
    • Dọn dẹp các tag cũ và chia sẻ layer giúp duy trì hiệu quả sử dụng không gian

Môi trường CI/CD

  • Ngay từ đầu, GitLab CI đã hiện thực hóa khái niệm “CI dựa trên tệp cấu hình”
    • Chỉ cần thêm tệp .gitlab-ci.yml là pipeline sẽ tự động chạy
    • Cấu hình được quản lý phiên bản nên có thể theo dõi trạng thái pipeline trong quá khứ
  • Pipeline cơ bản gồm các bước build image, push và triển khai tùy chọn
    • Bước triển khai có thể được kiểm soát bằng trigger thủ công
  • Shared runner là miễn phí nhưng chậm; khi cần có thể dễ dàng cài runner riêng trên VPS
  • Tài liệu CI/CD rất đồ sộ; một khi đã nắm được mẫu triển khai thì có thể quản lý hiệu quả bằng cách sao chép và tái sử dụng cấu hình sẵn có

Những điểm bất tiện

  • Tốc độ giao diện web chậm, thời gian chờ xuất hiện khi chuyển giữa merge request, pipeline và log
    • Gần đây có vẻ đã cải thiện đôi chút nhưng vẫn chậm hơn GitHub
  • Có vấn đề thừa tính năng
    • Có nhiều tính năng như theo dõi issue, wiki, package registry, quét bảo mật..., nhưng tỷ lệ dùng thực tế chỉ khoảng 10%
    • Tuy nhiên, đây cũng là lợi thế tiềm năng vì có thể tận dụng các tính năng đã tích hợp sẵn khi cần

Chi phí và quy trình làm việc

  • Đang vận hành khoảng 12 dự án cá nhân miễn phí, bao gồm cả dự án đang hoạt động lẫn các thử nghiệm đã tạm dừng
  • GitLab được dùng như không gian làm việc riêng tư, còn GitHub là không gian chia sẻ dự án công khai
    • GitHub phù hợp cho cộng tác và tăng khả năng hiển thị, còn GitLab phù hợp cho thử nghiệm và quản lý tự động hóa
  • Cách dùng song song hai nền tảng này giúp duy trì sự cân bằng và hiệu quả trong quy trình làm việc

3 bình luận

 
spp00 2026-01-26

Người ta vẫn đánh giá GitLab có CI/CD tốt.

Nhưng vì giới hạn của tài khoản miễn phí nên dù có hỗ trợ tiếng Hàn thì tôi vẫn hay nghiêng về GitHub hơn.

Forgejo và Gitea, nền tảng gốc của nó, lại cho cảm giác như bản nhái GitHub nên tôi cũng không mấy muốn dùng.

 
wedding 2026-01-27

Bên tôi đang dùng Gitea; do có hình ảnh giao diện khá giống nên đường cong học tập thấp, vì vậy đã áp dụng.
GitLab thì có quá nhiều tính năng nên khó dùng, và cũng nhận nhiều phản hồi rằng nó khá nặng..

 
GN⁺ 2026-01-26
Ý kiến trên Hacker News
  • Tôi từng khá thích GitLab, nhưng sau IPO có cảm giác họ chạy theo sự hào nhoáng hơn là chất lượng
    Nhân viên hỗ trợ khách hàng biến mất và mọi yêu cầu đều phải thông qua đội sales, trong khi phần lớn tính năng lại bị khóa trong gói Ultimate đắt đỏ
    Các tính năng không phải “AI” thì nhiều năm nay gặp cùng một vấn đề mà vẫn bị bỏ mặc
    Vì thế giờ mỗi khi có email bán hàng gửi đến, tôi lại chơi trò “không biết đến bao giờ mới được thấy tốc độ phát triển nhanh như ngày xưa?”
    • Thật ra GitLab từ trước đến nay vẫn chuộng vẻ bề ngoài
      Khoảng 2015~2020 tôi dùng khá vui, nhưng mọi tính năng đều còn thô và họ tập trung vào việc lấp đầy checklist tính năng hơn là độ hoàn thiện
      Có lẽ đó cũng là lựa chọn khó tránh nếu một đội nhỏ muốn cạnh tranh với các tập đoàn lớn
  • Giao diện web của GitLab lúc nào cũng cho cảm giác chậm chạp
    Sau 10 năm vẫn vậy, trong khi Gitea hay Forgejo nhanh hơn nhiều và sau khi Go 1.26 ra mắt thì còn hứa hẹn tốt hơn nữa
    • Tôi chỉ dùng nó như kho lưu trữ từ xa cho dự án cá nhân, nhưng vì giao diện phản hồi chậm và các đợt kiểm tra trình duyệt định kỳ nên đã đóng tài khoản
    • Tôi nghĩ đây là vấn đề cấu trúc cốt lõi của GitLab
      Đặc biệt tốc độ tìm kiếm issue quá chậm nên tôi không có ý định dùng lại nữa
    • Trải nghiệm của tôi thì ngược lại
      Năm 2018 tôi chuyển từ Bitbucket và Confluence sang GitLab Cloud, và sản phẩm của Atlassian chậm hơn nhiều cũng như phức tạp hơn
      GitLab cho cảm giác nhẹ và nhanh, đến giờ phần lớn vẫn hoạt động tốt
      Gần đây thử Jira Cloud thì thấy còn chậm và bất tiện hơn nhiều
    • Chỉ cần bật CI/CD là đã chiếm một lõi CPU liên tục
      Hiện tượng này thật sự rất khó tin
    • Giống như khác biệt giữa xe tải và xe nhỏ, GitLab là công cụ cho doanh nghiệp, nên chậm gần như là điều không tránh khỏi
  • Tôi dùng GitLab từ những ngày đầu, nhưng gần đây đã chuyển sang Forgejo
    Điện năng tiêu thụ của máy chủ giảm 10%, còn GitLab thì có quá nhiều tính năng không cần thiết khiến UI trở nên ngột ngạt
    Forgejo đơn giản hơn và có thể ẩn tính năng theo từng dự án
    Dù vậy nó không có tự động cập nhật, độ hoàn thiện thấp hơn và một số tính năng hoạt động chưa đúng
  • Thiết kế website của bài viết rất tuyệt
    Không rõ đó là theme Jekyll hay tự làm, nhưng chỉ riêng việc duyệt trang đã thấy thú vị
    • Đây là một trong số ít trường hợp dark theme được làm đẹp mắt
    • Ý tưởng hiển thị nguyên bản Markdown tạo cảm giác rất tinh tế
    • Tôi nghĩ đây là một website cá nhân thật sự xuất sắc
  • Vì giao diện GitLab quá chậm nên tôi đã chuyển sang Forgejo
    Vẫn giữ được những thứ cần thiết như CI, theo dõi issue, v.v. nhưng giao diện tải gần như tức thì và không có tính năng thừa
    • Tôi cũng chuyển sang Forgejo vì lý do đó, và tốc độ cùng hiệu quả tài nguyên chỉ bằng khoảng 10% của GitLab
      Tôi thích cú pháp GitLab CI hơn, nhưng API của Forgejo thì ít được trau chuốt hơn
      Dù vậy vẫn có thể xử lý bằng script tùy chỉnh vì có thể truy cập trực tiếp vào DB
    • Nhờ Forgejo nhẹ nên có thể dễ dàng dựng môi trường phát triển cục bộ ArgoCD
      Tôi khởi chạy một cụm Kubernetes rồi kết nối Forgejo với Argo để thử nghiệm
    • Tôi đang phân vân không biết chuyển dự án mã nguồn mở sang Forgejo có ý nghĩa không
      Không rõ dùng tài nguyên của Codeberg thay vì Microsoft có phải lựa chọn đúng hay không
    • Tôi thử qua trong thời gian ngắn và thấy rất nhanh, rất gọn gàng
      Có vẻ CI do dự án Woodpecker đảm nhiệm, nên tôi khá tò mò khi so với GitLab CI thì thế nào
    • Cơ chế review code của Forgejo đi theo đúng kiểu GitHub nên ép người dùng vào workflow kém hiệu quả
      GitLab tuy không đến mức như Gerrit nhưng vẫn hỗ trợ stack MR, và sau force push vẫn xem được comment
      Tôi nghĩ văn hóa làm việc xoay quanh các PR lớn kiểu GitHub làm hại cả năng suất lẫn văn hóa review
  • Tôi dùng GitLab cho công việc và nhìn chung thấy trực quan, dễ dùng
    Các tính năng quản trị như thiết lập đồng bộ LDAP vẫn còn chỗ để cải thiện, nhưng cú pháp CI/CD nhìn chung khá tiện
    • GitLab CI mạnh thật, nhưng quá nhiều bug và cú pháp YAML gây khó chịu
      Trong giai đoạn 2021~2024 tôi dùng hằng ngày đến mức còn phải ghi riêng nhật ký bug
      Tôi đã để lại trải nghiệm liên quan trong bình luận trước
    • UI quá phức tạp nên khó dùng hơn GitHub rất nhiều
  • Vấn đề của GitLab là quá thừa tính năng
    Trình theo dõi issue đơn giản của GitHub dễ dùng hơn nhiều
    Người quản lý dự án có thể thích GitLab, nhưng từ góc nhìn người dùng thì GitHub tốt hơn
    • Tính năng thì nhiều nhưng chất lượng triển khai thấp
    • Ở công ty tôi từng dùng GitLab, nhưng ngay cả việc tìm mã nguồn cũng rất phức tạp
      Giờ dùng GitHub thì đơn giản và hiệu quả hơn nhiều
      Tôi thực sự ghét GitLab
  • Giới hạn 10GB mỗi project trông có vẻ nhỏ nhưng trên thực tế hầu như không chạm tới
    Với Docker image thì chỉ có giới hạn theo từng layer, còn tổng dung lượng có thể lớn hơn nhiều
    Tài liệu liên quan: Storage Usage Quotas, Container Registry Issue
    • Tôi tò mò không biết đã có ai thử đẩy một bộ phim 4K lên GitLab bằng cách chia thành nhiều layer Docker chưa
      Tôi muốn thử upload bản Interstellar REMUX 70GB
    • Nếu mỗi layer dưới 10GB thì có nghĩa là có thể push/pull không giới hạn hay không, tôi muốn xác nhận điều đó
  • GitLab có giao diện tích hợp tốt nhưng lại có nhiều sự bất tiện lặt vặt
    Cứ lặp đi lặp lại mô thức “định làm gì đó → lỗi → tìm kiếm → phát hiện bug report chính thức từ 3~8 năm trước”
    Nhiều tính năng vẫn chỉ đạt mức hoàn thiện kiểu 80/20, còn chế độ xem MR thì chậm đến mức khó chịu
    • Tôi cũng có trải nghiệm y như vậy, và ở đội của khách hàng cũ nó còn trở thành meme
      Tôi đã để lại nội dung liên quan trong bình luận trước
  • Công ty tôi chuyển sang GitLab từ 5 năm trước, và nhiều tính năng nhưng tốc độ chậm
    Tôi thích việc có thể tích hợp Maven, NPM và Python package registry vào pipeline CI
    Nhưng tính năng thì quá nhiều và màn hình nào cũng chậm gấp đôi
    • Trước đây chúng tôi dùng Stash rồi chuyển sang GitLab, thấy nhanh và giàu tính năng nên rất thích
      Sau đó lại đổi sang Azure DevOps thì thấy chậm và quality gate cũng kém
      Máy build server bị chuyển sang VM nên build chậm vì giới hạn IOPS
      Tôi muốn quay lại GitLab và cũng sẵn sàng đóng góp để cải thiện hiệu năng