Cách cài đặt và cấu hình GitLab trên Ubuntu 20.04

theanh

Administrator
Nhân viên
GitLab là một công cụ vòng đời DevOps nguồn mở được sử dụng để lưu trữ và quản lý kho lưu trữ Git. Công cụ này được viết bằng Ruby và cung cấp nhiều tính năng bao gồm wiki, quản lý sự cố, đánh giá mã, giám sát, tích hợp và triển khai liên tục. Bạn có thể lưu trữ GitLab trong cơ sở hạ tầng của riêng mình và triển khai kho lưu trữ nội bộ cho nhóm phát triển của mình. GitLab có ba phiên bản: Community Edition (CE), Enterprise Edition (EE) và phiên bản do GitLab lưu trữ.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt GitLab CE trên máy chủ Ubuntu 20.04.

Điều kiện tiên quyết​

  • Một máy chủ chạy Ubuntu 20.04.
  • Một tên miền hợp lệ được trỏ đến VPS của bạn.
  • Một mật khẩu gốc được thiết lập trên máy chủ của bạn.

Bắt đầu​

Trước tiên, bạn sẽ cần cập nhật các gói hệ thống của mình lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng lệnh sau:
Mã:
apt-get update -y
apt-get upgrade -y
Sau khi hệ thống của bạn được cập nhật, hãy cài đặt các gói cần thiết khác bằng lệnh sau:
Mã:
apt-get install apt-transport-https gnupg2 curl -y
Sau khi tất cả các gói cần thiết được cài đặt, bạn có thể tiến hành bước tiếp theo.

Cài đặt GitLab CE​

Theo mặc định, GitLab không có sẵn trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ chính thức của GitLab vào hệ thống của mình.

Đầu tiên, hãy tải xuống và thêm khóa GPG của GitLab bằng lệnh sau:
Mã:
curl -sL https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | apt-key add -
Tiếp theo, hãy thêm kho lưu trữ GitLab trong APT bằng lệnh sau:
Mã:
nano /etc/apt/sources.list.d/gitlab.list
Thêm các dòng sau:
Mã:
deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic maindeb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, hãy cập nhật kho lưu trữ và cài đặt GitLab CE bằng lệnh sau:
Mã:
apt-get update -y
apt-get install gitlab-ce -y
Sau khi GitLab được cài đặt thành công, bạn sẽ nhận được kết quả sau:
Mã:
Có vẻ như GitLab vẫn chưa được định cấu hình; bỏ qua tập lệnh nâng cấp. *. *. *** *** ***** ***** .****** ******* ******** ******** ,,,,,,,,,************,,,,,,,, ,,,,,,,,,,*********,,,,,,,,, .,,,,,,,,,,,,,,,,,,,, .,,,,,,,,,,,,,,,,,,,,,, .,,,,,,,,,,,,,,******, ... _______ __ __ __ / ____(_) /_/ / ____ _/ /_ / / __/ / __/ / __ `/ __ \ / /_/ / /_/ /___/ /_/ / _/ / _/ / _____/ _ _/_/ _ _/_/ _ _,_/_.___/Cảm ơn bạn đã cài đặt GitLab!GitLab không thể phát hiện tên máy chủ hợp lệ cho phiên bản của bạn.Vui lòng định cấu hình URL cho phiên bản GitLab của bạn bằng cách đặt cấu hình `external_url`trong tệp /etc/gitlab/gitlab.rb.Sau đó, bạn có thể khởi động phiên bản GitLab của mình bằng cách chạy lệnh sau: sudo gitlab-ctl reconfigureĐể biết danh sách đầy đủ các tùy chọn cấu hình, vui lòng xem tệp readme Omnibus GitLabhttps://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
Tại thời điểm này, GitLab đã được cài đặt trong hệ thống của bạn. Bây giờ bạn có thể tiến hành bước tiếp theo.

Cấu hình GitLab​

Tiếp theo, bạn sẽ cần định nghĩa URL của GitLab. Bạn có thể định nghĩa nó bên trong tệp /etc/gitlab/gitlab.rb.
Mã:
nano /etc/gitlab/gitlab.rb
Thay đổi dòng sau bằng tên máy chủ hoặc tên miền hợp lệ của bạn:
Mã:
external_url 'http://gitlab.linuxbuz.com'
Lưu và đóng tệp. Sau đó, cấu hình lại GitLab bằng cách chạy lệnh sau:
Mã:
gitlab-ctl reconfigure
Sau khi cấu hình thành công GitLab, bạn sẽ nhận được kết quả sau:
Mã:
Công thức: gitlab::puma * runit_service[puma] action restart (up to date) * runit_service[puma] action restart (up to date)Công thức: gitlab::sidekiq-cluster * runit_service[sidekiq] action restart (up to date)Công thức: gitlab::gitlab-rails * execute[clear the gitlab-rails cache] action run - execute /opt/gitlab/bin/gitlab-rake cache:clearCông thức: nginx::enable * runit_service[nginx] action restart (up to date)Công thức: monitoring::grafana * runit_service[grafana] action restart (up to date)Các trình xử lý đang chạy:Đang chạy handlers hoàn tấtChef Client đã hoàn tất, 12/767 tài nguyên đã được cập nhật trong 01 phút 20 giâygitlab Đã cấu hình lại!
Bây giờ bạn có thể kiểm tra trạng thái của GitLab bằng lệnh sau:
Mã:
gitlab-ctl status
Bạn sẽ nhận được kết quả sau:
Mã:
down: alertmanager: 1 giây, bình thường là lên, muốn lên; chạy: log: (pid 12973) 142 giâychạy: gitaly: (pid 14216) 17 giây; chạy: log: (pid 12352) 286 giâychạy: gitlab-exporter: (pid 14165) 19 giây; chạy: log: (pid 12885) 161 giâychạy: gitlab-workhorse: (pid 14152) 19 giây; chạy: log: (pid 12767) 185 giâychạy: grafana: (pid 14252) 15 giây; chạy: log: (pid 13855) 54 giâychạy: logrotate: (pid 12818) 174 giây; chạy: log: (pid 12826) 173 giâychạy: nginx: (pid 12798) 180 giây; chạy: log: (pid 12807) 179 giâychạy: node-exporter: (pid 14160) 19 giây; chạy: log: (pid 12867) 167 giâychạy: postgres-exporter: (pid 14246) 15 giây; chạy: log: (pid 13082) 130 giâychạy: postgresql: (pid 12515) 280 giây; chạy: log: (pid 12532) 277 giâychạy: prometheus: (pid 14183) 18 giây; chạy: log: (pid 12931) 149 giâychạy: puma: (pid 12718) 199 giây; run: log: (pid 12727) 196 giâyrun: redis: (pid 12309) 293 giây; run: log: (pid 12318) 292 giâyrun: redis-exporter: (pid 14176) 18 giây; run: log: (pid 12908) 154 giâyrun: sidekiq: (pid 12737) 193 giây; run: log: (pid 12749) 190 giây

Bảo mật GitLab bằng Let's Encrypt​

Tại thời điểm này, GitLab đã được cài đặt và định cấu hình. Tiếp theo, bạn nên bảo mật phiên bản GitLab của mình bằng Let's Encrypt SSL.

Trước tiên, hãy cài đặt công cụ máy khách Let's Encrypt bằng lệnh sau:
Mã:
apt-get install letsencrypt -y
Sau khi cài đặt, hãy chỉnh sửa tệp /etc/gitlab/gitlab.rb và bật Let's Encrypt.
Mã:
nano /etc/gitlab/gitlab.rb
Thay đổi các dòng sau:
Mã:
external_url 'https://gitlab.linuxbuz.com'letsencrypt['enable'] = trueletsencrypt['contact_emails'] = ['[emailprotected]']letsencrypt['auto_renew'] = true
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, cấu hình lại GitLab bằng lệnh sau:
Mã:
gitlab-ctl reconfigure
Sau khi hoàn tất. Bạn có thể tiến hành bước tiếp theo.

Truy cập Giao diện GitLab​

Lúc này, GitLab được bảo mật bằng Let's Encrypt SSL miễn phí. Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://gitlab.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang sau:



Bây giờ, hãy đặt mật khẩu mới và nhấp vào nút Đổi mật khẩu của bạn. Bạn sẽ thấy màn hình sau:



Bây giờ, hãy cung cấp tên người dùng và mật khẩu gốc của bạn, sau đó nhấp vào nút Đăng nhập . Bạn sẽ thấy màn hình sau:


Tắt Đăng ký công khai​

Theo mặc định, GitLab cho phép bất kỳ ai đăng ký tài khoản bằng URL GitLab. Cài đặt này hữu ích nếu bạn muốn lưu trữ một dự án công khai. Tuy nhiên, nếu bạn muốn sử dụng GitLab cho dự án nội bộ của mình, bạn nên tắt Đăng ký công khai.

Trên bảng điều khiển GitLab, nhấp vào biểu tượng khu vực quản trị. Bạn sẽ thấy màn hình sau:





Bây giờ, hãy nhấp vào Cài đặt ở ngăn bên trái. Bạn sẽ thấy màn hình sau:



Tiếp theo, cuộn xuống phần Hạn chế đăng ký và nhấp vào nút Mở rộng. Bỏ chọn hộp Đã bật đăng ký và nhấp vào Lưu thay đổi khi hoàn tất.

Bây giờ, hãy đăng xuất khỏi GitLab và truy cập lại GitLab. Bạn sẽ thấy màn hình sau với chức năng đăng ký công khai bị vô hiệu hóa:


Xác minh chức năng GitLab​

Tại thời điểm này, GitLab đã được cài đặt và định cấu hình. Tiếp theo, tạo một dự án mới từ bảng điều khiển GitLab.

Trên bảng điều khiển GitLab, nhấp vào nút dự án. Bạn sẽ thấy màn hình sau:



Bây giờ, hãy nhấp vào nút Tạo một dự án. Bạn sẽ thấy màn hình sau:



Cung cấp tên dự án, URL, mô tả, mức độ hiển thị và nhấp vào nút Tạo dự án. Bạn sẽ thấy màn hình sau:



Tiếp theo, hãy đến hệ thống từ xa và cấu hình Git bằng lệnh sau:
Mã:
git config --global user.name "Hitesh Jethva"
git config --global user.email "[emailprotected]"
Tiếp theo, hãy sao chép kho lưu trữ của dự án của bạn bằng lệnh sau:
Mã:
git clone https://gitlab.linuxbuz.com/root/project1.git
Bạn sẽ được yêu cầu cung cấp tên người dùng và mật khẩu GitLab của mình như hiển thị bên dưới:
Mã:
Đang sao chép vào 'project1'...Tên người dùng cho 'https://gitlab.linuxbuz.com': rootMật khẩu cho 'https://[emailprotected]':cảnh báo: Có vẻ như bạn đã sao chép một kho lưu trữ trống.Đang kiểm tra kết nối... xong.
Tiếp theo, hãy thay đổi thư mục thành dự án của bạn và tạo tệp README.md:
Mã:
cd project1
echo "Đây là tệp đầu tiên của tôi" > README.md
Tiếp theo, hãy thêm tệp README.md vào kho lưu trữ của bạn và cam kết thay đổi bằng lệnh sau:
Mã:
git add README.md
git commit -m "add README"
Bạn sẽ thấy đầu ra sau:
Mã:
[master (root-commit) ae4d108] thêm README 1 tệp đã thay đổi, 1 lần chèn (+) tạo chế độ 100644 README.md
Tiếp theo, đẩy tệp của bạn lên kho lưu trữ từ xa bằng lệnh sau:
Mã:
git push -u origin master
Cung cấp tên người dùng và mật khẩu GitLab của bạn để đẩy tệp lên kho lưu trữ từ xa:
Mã:
Tên người dùng cho 'https://gitlab.linuxbuz.com': rootMật khẩu cho 'https://[emailprotected]':Đang đếm đối tượng: 3, xong.Đang ghi đối tượng: 100% (3/3), 237 byte | 0 byte/giây, xong.Tổng cộng 3 (delta 0), đã sử dụng lại 0 (delta 0)Đến https://gitlab.linuxbuz.com/root/project1.git * [nhánh mới] master -> masterBranch master được thiết lập để theo dõi nhánh master từ xa từ origin.
Bây giờ, hãy mở bảng điều khiển GitLab của bạn và nhấp vào nút project. Bạn sẽ thấy tệp README.md của mình trong màn hình sau:


Kết luận​

Trong hướng dẫn trên, bạn đã học cách cài đặt GitLab và bảo mật nó bằng Let's Encrypt SSL trên Ubuntu 20.04. Bạn cũng đã học cách thực hiện các thao tác Git cơ bản với GitLab. Tôi hy vọng bây giờ bạn có thể triển khai GitLab trong môi trường phát triển của mình. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên