Hướng dẫn cài đặt GitLab trên Ubuntu chi tiết từ A-Z cho người mới

Hướng dẫn cài đặt GitLab trên Ubuntu chi tiết từ A-Z cho người mới

GitLab – Nền tảng quản lý mã nguồn Git mạnh mẽ, linh hoạt và dễ triển khai trên hạ tầng riêng

GitLab là một nền tảng mã nguồn mở toàn diện được sử dụng rộng rãi để lưu trữ repository Git và hỗ trợ quy trình phát triển phần mềm hiện đại. Bên cạnh khả năng quản lý mã nguồn, GitLab còn tích hợp các tính năng thiết yếu như theo dõi lỗi (issue tracking), quản lý dự án (project management), CI/CD pipelines và hơn thế nữa – tất cả trong một hệ thống duy nhất.

Điểm mạnh nổi bật của GitLab chính là khả năng triển khai linh hoạt trên hạ tầng riêng của doanh nghiệp hoặc tổ chức. Dù bạn cần thiết lập một hệ thống repository nội bộ bảo mật cho đội ngũ kỹ thuật, một nền tảng tương tác công khai với cộng đồng, hay cung cấp không gian để cộng tác viên độc lập tự host dự án, GitLab đều đáp ứng hiệu quả.

Với cơ chế cài đặt đơn giản và tối ưu, dự án GitLab Community Edition cho phép bạn dễ dàng khởi tạo một instance GitLab ngay trên máy chủ Ubuntu của mình. DataOnline sẽ cung cấp từng bước chi tiết để bạn có thể cài đặt và cấu hình GitLab một cách chuyên nghiệp, ổn định và sẵn sàng cho triển khai thực tế.

Yêu cầu

Nếu bạn đang sử dụng Ubuntu phiên bản 16.04 hoặc thấp hơn, chúng tôi khuyến nghị bạn nâng cấp lên phiên bản mới nhất vì Ubuntu không còn cung cấp hỗ trợ cho các phiên bản cũ nữa. Bộ sưu tập hướng dẫn sau đây sẽ hỗ trợ bạn trong việc nâng cấp phiên bản Ubuntu.

Để theo dõi hướng dẫn này, bạn cần chuẩn bị:

  • Một máy chủ chạy Ubuntu, cùng với một tài khoản không phải root có quyền sudo và một firewall đang hoạt động. Để biết cách thiết lập, hãy chọn bản phân phối phù hợp trong danh sách và làm theo Hướng Dẫn Thiết Lập Máy Chủ Ban Đầu.
  • Một máy chủ cần đáp ứng các yêu cầu phần cứng tối thiểu do GitLab đề xuất:
    • CPU: tối thiểu 4 lõi
    • RAM: tối thiểu 4GB (mặc dù bạn có thể thay thế RAM bằng swap, tuy nhiên không khuyến nghị cách này)
  • Một tên miền (domain name) trỏ về máy chủ của bạn. (Thông tin chi tiết về cách bắt đầu với VPS, hãy tham khảo tài liệu của DataOnline.) Trong hướng dẫn này, chúng tôi sẽ sử dụng ví dụ your_domain – bạn nhớ thay thế bằng tên miền của riêng bạn.

Bước 1 – Cài đặt các phụ thuộc

Trước khi cài đặt GitLab, điều quan trọng là phải cài đặt các phần mềm mà GitLab phụ thuộc vào trong quá trình cài đặt cũng như vận hành liên tục. Các phần mềm cần thiết này có thể được cài đặt từ kho phần mềm mặc định của Ubuntu.

Đầu tiên, hãy cập nhật chỉ mục của các gói cục bộ:

sudo apt update

Sau đó, cài đặt các phụ thuộc bằng lệnh:

sudo apt install ca-certificates curl openssh-server postfix tzdata perl

Lưu ý khi cài đặt Postfix: Bạn có thể đã có sẵn một số phần mềm được cài đặt. Khi cài đặt Postfix, chọn Internet Site khi được nhắc và nhập tên miền của máy chủ để cấu hình cách hệ thống gửi mail.

Sau khi đã cài đặt xong các phụ thuộc, bạn đã sẵn sàng tiến hành cài đặt GitLab.

Bước 2 – Cài đặt GitLab

Với các phụ thuộc đã được cài đặt, giờ bạn có thể cài đặt GitLab. Quy trình cài đặt sử dụng một script cài đặt để cấu hình hệ thống của bạn với các repository của GitLab.

Chuyển đến thư mục /tmp:

cd /tmp

Tải script cài đặt bằng lệnh:

curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

Bạn hoàn toàn có thể kiểm tra nội dung của script đã tải xuống để đảm bảo rằng bạn cảm thấy yên tâm với các hành động mà script này sẽ thực hiện. Ngoài ra, bạn cũng có thể tìm thấy phiên bản script được lưu trữ trực tuyến trong phần hướng dẫn cài đặt chính thức của GitLab.

less /tmp/script.deb.sh

Khi bạn đã hài lòng với tính an toàn của script, hãy chạy script cài đặt:

sudo bash /tmp/script.deb.sh

Script này sẽ thiết lập máy chủ của bạn để sử dụng các repository do GitLab quản lý, cho phép bạn quản lý GitLab bằng các công cụ quản lý gói giống như với các gói hệ thống khác. Sau khi quá trình trên hoàn tất, cài đặt ứng dụng GitLab thực sự bằng lệnh:

sudo apt install gitlab-ce

Quá trình cài đặt này sẽ cài đặt các thành phần cần thiết và có thể mất một thời gian để hoàn tất.

Bước 3 – Điều chỉnh quy tắc Firewall

Trước khi cấu hình GitLab, bạn cần đảm bảo rằng các quy tắc trên firewall của bạn cho phép lưu lượng truy cập web. Nếu bạn đã làm theo hướng dẫn thiết lập trong phần Yêu Cầu, rất có thể bạn đã kích hoạt firewall ufw.

Để kiểm tra trạng thái firewall hiện tại, chạy lệnh:

sudo ufw status
Output
Status: active



To                         Action      From

--                         ------      ----

OpenSSH                    ALLOW       Anywhere

OpenSSH (v6)               ALLOW       Anywhere (v6)

Ở trạng thái này, các kết nối SSH đã được cho phép, nhưng các dịch vụ khác lại bị hạn chế. Vì GitLab là một ứng dụng web nên bạn cần cho phép lưu lượng truy cập HTTP. Do bạn sẽ sử dụng tính năng của GitLab để yêu cầu và kích hoạt chứng chỉ TLS/SSL miễn phí từ Let’s Encrypt, bạn cũng cần cho phép lưu lượng truy cập HTTPS.

Nhập các lệnh sau để cho phép giao thức HTTP và HTTPS:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH

Sau đó, kiểm tra lại trạng thái ufw để đảm bảo rằng ít nhất các dịch vụ sau đã được cho phép:

sudo ufw status
Output
Status: active



To                         Action      From

--                         ------      ----

OpenSSH                    ALLOW       Anywhere

80/tcp                     ALLOW       Anywhere

443/tcp                    ALLOW       Anywhere

OpenSSH (v6)               ALLOW       Anywhere (v6)

80/tcp (v6)                ALLOW       Anywhere (v6)

443/tcp (v6)               ALLOW       Anywhere (v6)

Output này cho biết giao diện web của GitLab sẽ có thể truy cập được sau khi bạn cấu hình ứng dụng.

Bước 4 – Chỉnh sửa tập tin cấu hình GitLab

Trước khi sử dụng GitLab, bạn cần cập nhật tập tin cấu hình và chạy lệnh tái cấu hình. Đầu tiên, mở tập tin cấu hình của GitLab bằng trình soạn thảo ưa thích của bạn (ví dụ: nano):

sudo nano /etc/gitlab/gitlab.rb

Tìm dòng cấu hình external_url và cập nhật nó cho phù hợp với tên miền của bạn. Hãy nhớ thay đổi từ http thành https để tự động chuyển hướng người dùng đến trang web được bảo vệ bởi chứng chỉ Let’s Encrypt:

/etc/gitlab/gitlab.rb
...
## GitLab URL

##! URL on which GitLab will be reachable.

##! For more details on configuring external_url see:

##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab

##!

##! Note: During installation/upgrades, the value of the environment variable

##! EXTERNAL_URL will be used to populate/replace this value.

##! On AWS EC2 instances, we also attempt to fetch the public hostname/IP

##! address from AWS. For more details, see:

##! https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html

external_url 'https://your_domain'

...

Tiếp theo, tìm thiết lập letsencrypt[‘contact_emails’]. Nếu bạn sử dụng nano, nhấn CTRL+W để tìm. Thiết lập này định nghĩa danh sách các địa chỉ email mà Let’s Encrypt sử dụng để liên lạc với bạn khi có sự cố xảy ra. Bạn nên bỏ comment và điền email của mình để nhận thông báo khi có vấn đề:

/etc/gitlab/gitlab.rb
letsencrypt['contact_emails'] = ['sammy@example.com']

Sau khi đã chỉnh sửa xong, lưu và đóng tập tin. Nếu dùng nano, nhấn CTRL+X, sau đó nhấn Y và ENTER để xác nhận.

Chạy lệnh sau để tái cấu hình lại GitLab:

sudo gitlab-ctl reconfigure

Lệnh này sẽ khởi tạo GitLab bằng các thông tin thu thập được từ máy chủ của bạn. Quá trình này hoàn toàn tự động và sẽ không yêu cầu bạn trả lời bất kỳ câu hỏi nào. Nó cũng sẽ cấu hình chứng chỉ Let’s Encrypt cho tên miền của bạn.

Bước 5 – Cấu hình lần đầu qua giao diện Web

Khi GitLab đã chạy, bạn có thể thực hiện cấu hình ban đầu của ứng dụng qua giao diện web.

Đăng nhập lần đầu

Mở trình duyệt và truy cập tên miền của máy chủ GitLab của bạn:

https://your_domain

Lần đầu truy cập, bạn sẽ gặp trang đăng nhập.Thiet ke chua co ten 2025 04 10T092628.720

GitLab sẽ tự động tạo một mật khẩu an toàn ban đầu cho bạn, được lưu trữ trong một tập tin mà bạn có thể truy cập với quyền sudo. Để xem mật khẩu, chạy:

sudo nano /etc/gitlab/initial_root_password

Nội dung tập tin sẽ trông như sau:

/etc/gitlab/initial_root_password

# WARNING: This value is valid only in the following conditions

#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the firs$

#          2. Password hasn't been changed manually, either via UI or via command line.

#

#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: YOUR_PASSWORD

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

Trên trang đăng nhập, nhập các thông tin sau:

  • Username: root
  • Password: [mật khẩu đã hiển thị trong tập tin /etc/gitlab/initial_root_password]

Nhấn nút Sign in để đăng nhập. Sau đó, bạn sẽ được chuyển đến trang chào mừng, nơi GitLab mời bạn bắt đầu thêm các dự án.Thiet ke chua co ten 2025 04 10T092907.638

Cập nhật mật khẩu

Một trong những việc đầu tiên bạn nên làm sau khi đăng nhập là thay đổi mật khẩu. Nhấp vào biểu tượng ở góc trên bên phải của thanh điều hướng và chọn Edit Profile.Thiet ke chua co ten 2025 04 10T093108.445
Trong trang User Settings, chọn mục Password để thay đổi mật khẩu do GitLab tạo mặc định, sau đó nhấn Save password. Sau khi cập nhật, bạn sẽ được chuyển về màn hình đăng nhập cùng với thông báo mật khẩu đã được thay đổi. Hãy đăng nhập lại bằng mật khẩu mới của bạn.Thiet ke chua co ten 2025 04 10T093235.901Bạn sẽ được chuyển trở lại màn hình đăng nhập cùng với một thông báo rằng mật khẩu của bạn đã được thay đổi. Hãy nhập mật khẩu mới để đăng nhập lại vào instance GitLab của bạn.Thiet ke chua co ten 2025 04 10T093430.168

Tùy chỉnh cài đặt hồ sơ cá nhân

GitLab thiết lập sẵn một số giá trị mặc định khá hợp lý, tuy nhiên những thiết lập này thường không còn phù hợp khi bạn bắt đầu sử dụng phần mềm thực tế.

Để thực hiện các thay đổi cần thiết, hãy nhấp vào biểu tượng người dùng ở góc trên bên phải của thanh điều hướng và chọn Edit Profile (Chỉnh sửa hồ sơ).

Tại đây, bạn có thể cập nhật Tên và Địa chỉ Email từ mặc định là “Administrator” và “admin@example.com” thành thông tin chính xác hơn. Tên mà bạn chọn sẽ được hiển thị với những người dùng khác, còn địa chỉ email sẽ được sử dụng để phát hiện avatar mặc định, nhận thông báo, thực hiện các hành động Git qua giao diện web, và nhiều tác vụ khác.

Khi bạn đã hoàn tất việc cập nhật, hãy nhấn vào nút Update Profile settings ở phía dưới cùng để lưu các thay đổi. Hệ thống sẽ yêu cầu bạn nhập mật khẩu để xác nhận các thay đổi này.

Một email xác nhận sẽ được gửi đến địa chỉ mà bạn đã cung cấp. Hãy làm theo hướng dẫn trong email để xác minh tài khoản, từ đó bạn có thể bắt đầu sử dụng GitLab một cách đầy đủ.

Thay đổi tên tài khoản

Tiếp theo, nhấp vào mục Account trong thanh điều hướng bên trái.
Tại đây, bạn có thể kích hoạt xác thực hai lớp (two-factor authentication) và thay đổi tên tài khoản. Theo mặc định, tài khoản quản trị đầu tiên có tên root – vì đây là tên đã được biết đến rộng rãi nên việc thay đổi tên này sẽ giúp tăng cường bảo mật. Dù vẫn giữ quyền quản trị, chỉ duy nhất tên được thay đổi. Hãy thay thế root bằng tên người dùng mà bạn ưa thích và nhấn Update username. Bạn sẽ cần xác nhận thay đổi. Lần đăng nhập sau, hãy sử dụng tên tài khoản mới của bạn.

Thêm SSH Key vào tài khoản

Để sử dụng SSH key với Git nhằm tương tác với các dự án trên GitLab, bạn cần thêm SSH public key vào tài khoản của mình. Nhấp vào mục SSH Keys trong thanh điều hướng bên trái.

Nếu bạn đã có một cặp SSH key trên máy cục bộ, bạn có thể xem public key bằng lệnh:

cat ~/.ssh/id_rsa.pub

Kết quả sẽ trông như:

Output
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop

Sao chép đoạn mã này và dán vào ô Key trong giao diện GitLab của bạn.

Nếu thay vào đó bạn nhận được thông báo lỗi như sau, điều đó có nghĩa là máy của bạn chưa được cấu hình cặp SSH key:

Output
cat: /home/sammy/.ssh/id_rsa.pub: No such file or directory

Trong trường hợp này, bạn có thể tạo một cặp SSH key mới bằng cách nhập lệnh sau:

[environment local]

ssh-keygen

Hãy chấp nhận các thiết lập mặc định, và nếu muốn, bạn có thể đặt mật khẩu để bảo vệ key trên máy cục bộ.

Output

[environment local]

Generating public/private rsa key pair.

Enter file in which to save the key (/home/sammy/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/sammy/.ssh/id_rsa.

Your public key has been saved in /home/sammy/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:I8v5/M5xOicZRZq/XRcSBNxTQV2BZszjlWaIHi5chc0 sammy@gitlab.docsthat.work

The key's randomart image is:

+---[RSA 2048]----+

|          ..%o==B|

|           *.E =.|

|        . ++= B  |

|         ooo.o . |

|      . S .o  . .|

|     . + .. .   o|

|      +   .o.o ..|

|       o .++o .  |

|        oo=+     |

+----[SHA256]-----+

Sau khi đã tạo key, bạn có thể hiển thị lại public key bằng cách chạy lệnh sau:

cat ~/.ssh/id_rsa.pub
Output

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop

Sao chép toàn bộ đoạn mã public key trên, dán vào ô Key trong phần cài đặt GitLab của bạn, đặt một tên mô tả dễ nhận biết, sau đó nhấn nút Add key.

Giờ đây, bạn đã có thể quản lý các dự án và repository GitLab từ máy cục bộ mà không cần phải nhập thông tin tài khoản mỗi lần thực hiện thao tác với Git.

Bước 6 – Hạn chế hoặc vô hiệu hóa đăng ký công khai

Với cấu hình hiện tại, bất kỳ ai cũng có thể tự đăng ký tài khoản khi truy cập vào trang chủ GitLab của bạn. Điều này có thể phù hợp nếu bạn muốn triển khai một dự án công khai. Tuy nhiên, trong nhiều trường hợp khác, bạn sẽ muốn áp dụng các thiết lập hạn chế hơn để kiểm soát quyền truy cập.

Đầu tiên, để thay đổi các thiết lập, hãy truy cập vào khu vực quản trị (Admin Area) bằng cách nhấp vào biểu tượng menu (dạng hamburger) ở góc trên thanh điều hướng, sau đó chọn Admin từ menu xổ xuống.

Tiếp theo, trong thanh điều hướng bên trái, chọn mục Settings.

Bạn sẽ được chuyển đến trang cài đặt tổng thể (global settings) cho instance GitLab của mình. Tại đây, bạn có thể điều chỉnh nhiều thiết lập quan trọng, chẳng hạn như cho phép người dùng mới đăng ký hay không, và mức độ truy cập của họ sau khi đăng ký.

Vô hiệu hóa hoàn toàn chức năng đăng ký tài khoản

Nếu bạn muốn tắt hoàn toàn khả năng đăng ký, hãy:

  1. Cuộn xuống phần Sign-up Restrictions và nhấn nút Expand để mở rộng các tùy chọn.
  2. Bỏ chọn hộp Sign-up enabled để vô hiệu hóa chức năng đăng ký.

Sau khi thực hiện thay đổi, đừng quên nhấn Save changes để lưu lại.
Ngay lập tức, phần đăng ký tài khoản sẽ biến mất khỏi trang chủ GitLab, giúp hạn chế người lạ tự tạo tài khoản mới.

Hạn chế đăng ký theo domain

Nếu GitLab của bạn thuộc một tổ chức sử dụng email nội bộ theo domain riêng (ví dụ: *@company.com), bạn có thể hạn chế người dùng chỉ được đăng ký nếu họ có email thuộc domain đó, thay vì tắt hoàn toàn đăng ký.

Thực hiện như sau:

  1. Trong phần Sign-up Restrictions, đánh dấu vào mục Send confirmation email on sign-up — điều này yêu cầu người dùng xác nhận email mới được phép đăng nhập.
  2. Nhập danh sách các domain được phép đăng ký vào ô Whitelisted domains for sign-ups (mỗi dòng một domain). Bạn có thể dùng ký tự * để đại diện cho wildcard domain (ví dụ: *.yourcompany.com).

Cuối cùng, nhấn Save changes để áp dụng.

Kết quả là phần đăng ký tài khoản công khai sẽ được giới hạn chỉ với các domain được phê duyệt.

Hạn chế quyền tạo dự án mới cho người dùng

Theo mặc định, người dùng mới có thể tạo tối đa 10 dự án sau khi đăng ký. Nếu bạn muốn:

  • Cho phép người ngoài đăng ký tài khoản để xem hoặc tham gia dự án,
  • Nhưng không cho phép họ tự tạo dự án mới, thì bạn có thể điều chỉnh tại mục Account and Limit Settings.

Tại đây:

  • Thay đổi giá trị Default projects limit thành 0 để tắt hoàn toàn quyền tạo dự án mới cho người dùng vừa đăng ký.

Người dùng mới vẫn có thể được thêm thủ công vào các dự án hiện tại (nội bộ hoặc công khai) do người khác tạo, và vẫn có thể tham gia vào các hoạt động trong dự án đó.

Sau khi chỉnh sửa, hãy nhấn Save changes để lưu lại thiết lập.

Kết quả: người dùng mới có thể đăng ký tài khoản, nhưng không thể tạo dự án mới trừ khi được phân quyền.

Gia hạn chứng chỉ Let’s Encrypt

Theo mặc định, GitLab thiết lập một tác vụ định kỳ để gia hạn chứng chỉ Let’s Encrypt sau nửa đêm cứ mỗi 4 ngày, với thời gian chính xác phụ thuộc vào giá trị external_url của bạn. Bạn có thể chỉnh sửa các thiết lập này trong tập tin /etc/gitlab/gitlab.rb.

Ví dụ, nếu bạn muốn gia hạn chứng chỉ mỗi 7 ngày vào lúc 12:30, hãy mở tập tin cấu hình:

sudo nano /etc/gitlab/gitlab.rb

Tìm đến phần sau và bỏ dấu # để kích hoạt cũng như cập nhật các tham số:

/etc/gitlab/gitlab.rb

...

################################################################################

# Let's Encrypt integration

################################################################################

# letsencrypt['enable'] = nil

letsencrypt['contact_emails'] = ['sammy@digitalocean'] # This should be an array of email addresses to add as contacts

# letsencrypt['group'] = 'root'

# letsencrypt['key_size'] = 2048

# letsencrypt['owner'] = 'root'

# letsencrypt['wwwroot'] = '/var/opt/gitlab/nginx/www'

# See http://docs.gitlab.com/omnibus/settings/ssl.html#automatic-renewal for more on these settings

letsencrypt['auto_renew'] = true

letsencrypt['auto_renew_hour'] = "12"

letsencrypt['auto_renew_minute'] = "30"

letsencrypt['auto_renew_day_of_month'] = "*/7"

...

 

Nếu bạn muốn tắt tự động gia hạn, chỉ cần đặt:

/etc/gitlab/gitlab.rb
...
letsencrypt['auto_renew'] = false
...

Với việc tự động gia hạn được kích hoạt, bạn sẽ không phải lo lắng về gián đoạn dịch vụ do chứng chỉ hết hạn.

Kết luận

Giờ đây, bạn đã triển khai thành công một GitLab instance hoạt động ổn định trên máy chủ riêng. Với nền tảng này, bạn có thể dễ dàng tạo mới hoặc import các repository, thiết lập phân quyền chi tiết cho từng thành viên trong nhóm, và quản lý toàn bộ vòng đời phát triển phần mềm một cách linh hoạt.

GitLab không ngừng được cập nhật tính năng, tối ưu hiệu suất và bổ sung các công cụ hiện đại như CI/CD pipelines, quản lý issue, và hơn thế nữa. Để luôn tận dụng tốt nhất khả năng của nền tảng, bạn nên thường xuyên theo dõi trang chính thức của GitLab để nắm bắt những bản cập nhật quan trọng và các cải tiến mới nhất.

a

bash
# yum group list

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *