HELPER VPS

Hosting VPS GitLab: mã nguồn và CI/CD trên máy chủ của bạn

  • Cài bằng image Docker chính thức gitlab/gitlab-ce
  • Khuyên dùng các gói có bộ nhớ từ 16 GB trở lên
  • Quyền root cùng địa chỉ IPv4, IPv6 công khai

HELPER VPS GitLab VPS là máy chủ cloud Linux nơi bạn chạy GitLab Community Edition, quản lý kho Git và CI/CD tại một nơi, được thanh toán bằng hóa đơn từ $25.00 mỗi tháng. Chọn image ứng dụng Docker khi bạn tạo máy chủ, kết nối qua SSH và chạy image chính thức gitlab/gitlab-ce, và bạn có thể quản lý mã, issue và pipeline của nhóm trên máy chủ của riêng bạn.

    GitLab là gì?

    GitLab là nền tảng phát triển gộp quản lý kho Git, review mã, quản lý issue, pipeline CI/CD và container registry làm một. GitLab Community Edition (CE) là bản miễn phí công khai mã nguồn mở, nhóm tự cài trên máy chủ của mình để tự lưu giữ mã nguồn và lịch sử phát triển. Các tính năng cộng tác như merge request, wiki, milestone có sẵn mặc định.

    Image Docker chính thức gitlab/gitlab-ce chứa lõi GitLab cùng PostgreSQL, Redis, Nginx, Puma, Sidekiq, nên một container chạy cả dịch vụ. Cấu hình, nhật ký và dữ liệu được lưu riêng trên ổ đĩa máy chủ bằng volume, nên dù đổi container sang phiên bản mới, kho mã và thông tin người dùng vẫn còn nguyên.

    Bạn làm được gì với VPS GitLab?

    Với một máy chủ tự host GitLab, gom toàn bộ quy trình phát triển về máy chủ của bạn.

    Mua máy chủ GitLab như thế nào?

    Từ lần thanh toán đầu tiên đến lần đăng nhập đầu tiên chỉ cần ba bước.

    1. Bước 1. Chọn gói có bộ nhớ từ 16 GB trở lên

      Chọn phương thức thanh toán, chọn thành phố gần nhóm của bạn và chọn một gói có bộ nhớ từ 16 GB trở lên.

    2. Bước 2. Tạo bằng image ứng dụng Docker

      Chọn Docker trong danh sách image là máy chủ Ubuntu 24.04 có sẵn Docker Engine và Docker Compose được tạo.

    3. Bước 3. Kết nối SSH và chạy lệnh

      Kết nối SSH bằng root, chạy lệnh bên dưới, vài phút sau mở địa chỉ máy chủ trên trình duyệt và đăng nhập bằng tài khoản root.

    Cài GitLab CE như thế nào?

    Kết nối SSH vào máy chủ tạo từ image ứng dụng Docker và chạy lệnh bên dưới. Thay gitlab.example.com bằng tên miền hoặc IP máy chủ của bạn; SSH của máy chủ dùng cổng 22 nên Git SSH của GitLab mở ở cổng 2222. Lần khởi động đầu mất vài phút, và lệnh ở dòng cuối giúp xem mật khẩu root ban đầu (tệp này bị xóa sau 24 giờ).

    Terminal
    export GITLAB_HOME=/srv/gitlab
    sudo mkdir -p $GITLAB_HOME
    sudo docker run --detach \
      --hostname gitlab.example.com \
      --publish 443:443 --publish 80:80 --publish 2222:22 \
      --name gitlab \
      --restart always \
      --volume $GITLAB_HOME/config:/etc/gitlab \
      --volume $GITLAB_HOME/logs:/var/log/gitlab \
      --volume $GITLAB_HOME/data:/var/opt/gitlab \
      --shm-size 256m \
      gitlab/gitlab-ce:latest
    sudo docker logs -f gitlab
    sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

    Tự cài GitLab trên VPS có lợi gì?

    Tự vận hành VPS GitLab thì bạn xử lý mã nguồn và pipeline theo tiêu chuẩn của mình.

    Công nghệ dùng cùng GitLab

    Image GitLab CE chính thức chứa các công nghệ dưới đây và chạy cùng trên VPS GitLab.

    Đặt máy chủ ở nơi gần khách

    Tạo máy chủ GitLab với cùng giá ở bất kỳ đâu trong 40 thành phố tại 31 quốc gia.

    VPS GitLab cần bao nhiêu GB bộ nhớ?

    GitLab chạy cùng lúc web server, tác vụ nền, cơ sở dữ liệu và cache, vì vậy nó cần ít nhất 4 GB bộ nhớ, và chúng tôi khuyên dùng 16 GB trở lên cho việc sử dụng thực tế của nhóm. Với 12 GB, giao diện có thể chậm lại khi chỉ có một vài người cùng lúc, vì vậy tại HELPER VPS chúng tôi khuyên bắt đầu từ gói 4 vCPU, 16 GB. Gói hiệu suất cao với ổ NVMe làm cho các thao tác clone kho mã và tìm kiếm nhanh hơn.

    Nếu chạy cả tác vụ CI bằng GitLab Runner trên cùng máy chủ, build cũng dùng bộ nhớ nên gói 16 GB là phù hợp. Nhóm có nhiều người dùng và dự án nên chọn gói bộ nhớ lớn như m32 của dòng bộ nhớ cao, và tách Runner sang máy chủ riêng để giao diện GitLab luôn nhẹ nhàng. Một tài khoản tạo được tối đa 10 máy chủ nên tách như vậy rất dễ.

    Sau khi bắt đầu tự host GitLab cần cấu hình gì?

    Sau lần đăng nhập đầu, hãy đổi mật khẩu root và trong khu vực quản trị chuyển đăng ký thành viên sang chế độ duyệt hoặc đóng lại để chỉ thành viên nhóm vào được. Nếu dùng tên miền, đặt external_url trong /srv/gitlab/config/gitlab.rb là địa chỉ https, bật cấu hình letsencrypt rồi chạy sudo docker exec -it gitlab gitlab-ctl reconfigure là chứng chỉ HTTPS được gắn tự động.

    Email thông báo được gửi bằng cách điền dịch vụ gửi email dùng cổng 587 vào cấu hình SMTP trong gitlab.rb. Để địa chỉ Git SSH hiển thị cổng 2222, đặt giá trị gitlab_rails['gitlab_shell_ssh_port'] là 2222. Định kỳ tạo bản sao lưu bằng sudo docker exec -t gitlab gitlab-backup create, và khi nâng phiên bản, kiểm tra lộ trình nâng cấp chính thức rồi mới đổi image là an toàn.

    Câu hỏi thường gặp về hosting GitLab

    Những câu hỏi hay gặp khi chọn và cài VPS GitLab.

    VPS GitLab có cài bằng một cú nhấp không?

    Sau khi tạo máy chủ bằng image ứng dụng Docker, bạn chạy image chính thức gitlab/gitlab-ce bằng một lệnh docker run. Dán lệnh ở trên và chờ vài phút là màn hình đăng nhập GitLab mở trên trình duyệt.

    GitLab cần tối thiểu bao nhiêu GB bộ nhớ?

    GitLab cần tối thiểu 4 GB bộ nhớ, và chúng tôi khuyên dùng 16 GB hoặc hơn để nhóm dùng thoải mái. Vì vậy chúng tôi khuyên bắt đầu từ gói 4 vCPU, 16 GB (g16, n16), và gói 32 GB nếu bạn cũng chạy CI Runner.

    Có cài bằng gói Omnibus trên image Ubuntu được không?

    Có, cũng có cách thêm kho gói chính thức của GitLab vào máy chủ Ubuntu để cài. Cách Docker tách cấu hình, nhật ký và dữ liệu thành volume nên cập nhật và di chuyển tiện hơn, vì thế trang này hướng dẫn cách Docker.

    Xem mật khẩu root ban đầu ở đâu?

    Xem bằng lệnh sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password. Tệp này bị xóa sau 24 giờ kể từ lần cấu hình đầu, nên đăng nhập xong hãy đổi ngay mật khẩu mới.

    Git SSH dùng cổng nào?

    SSH của chính máy chủ dùng cổng 22 nên lệnh ở trên mở Git SSH của GitLab ở cổng 2222. Đặt gitlab_shell_ssh_port là 2222 trong gitlab.rb thì địa chỉ SSH trên trang kho mã cũng hiển thị đúng.

    Gắn chứng chỉ HTTPS như thế nào?

    Trỏ tên miền về IP máy chủ, đổi external_url trong gitlab.rb thành địa chỉ https, bật letsencrypt rồi chạy gitlab-ctl reconfigure là chứng chỉ được cấp và gia hạn tự động.

    Có đặt GitLab Runner trên cùng máy chủ được không?

    Có, chạy image gitlab/gitlab-runner bằng container trên cùng máy chủ rồi đăng ký là được. Build dùng cả bộ nhớ lẫn CPU nên chúng tôi khuyên chọn gói 16 GB hoặc đặt Runner riêng trên một máy chủ nhỏ.

    GitLab có gửi email thông báo được không?

    Có, điền dịch vụ gửi email dùng cổng 587 vào cấu hình SMTP trong gitlab.rb là thông báo merge request và issue được gửi đi. Máy chủ HELPER VPS đóng cổng 25 gửi ra ngoài nên gửi theo cách này.

    Cập nhật GitLab như thế nào?

    Tạo bản sao lưu bằng gitlab-backup, tải image mới rồi tạo lại container với cùng volume là xong. Khi nhảy qua phiên bản lớn, hãy đi qua các phiên bản trung gian theo lộ trình nâng cấp chính thức của GitLab.

    Kho mã nhiều lên thì có tăng ổ đĩa được không?

    Khi tạo máy chủ, bạn thêm được ổ đĩa bổ sung từ 50 đến 1000 GB. Đặt GITLAB_HOME là đường dẫn ổ đĩa bổ sung để lưu kho mã, registry và bản sao lưu trên không gian rộng rãi.

    Thanh toán khi mua máy chủ GitLab như thế nào?

    Chọn phương thức thanh toán và tạo máy chủ để bắt đầu sử dụng ngay lập tức. Thanh toán hóa đơn gia hạn trước khi kỳ hạn kết thúc và quá trình phát triển của bạn sẽ không bao giờ bị gián đoạn.

    GitLab là dự án mã nguồn mở do GitLab Inc. và cộng đồng phát triển, quyền đối với tên và logo GitLab thuộc về chủ sở hữu. Việc cài đặt, cập nhật, cấu hình và sử dụng GitLab CE do bạn tự đảm nhận. GitLab CE dùng không tốn thêm chi phí, phí máy chủ đúng bằng giá gói đã chọn.

    Hướng dẫn máy chủ GitLab

    Những việc nên làm trước sau khi nhận máy chủ.