Cách cài đặt GitLab trên Debian 11

theanh

Administrator
Nhân viên
GitLab là một nền tảng DevOps miễn phí và mã nguồn mở cho phép các nhóm lặp lại nhanh hơn và cùng nhau đổi mới. Đây là một công cụ dựa trên web do GitLab Inc. phát triển. Nó rất giống với GitHub và cung cấp trình quản lý kho lưu trữ Git cung cấp wiki, theo dõi sự cố, tích hợp và triển khai liên tục. Phiên bản cộng đồng GitLab hoàn toàn miễn phí cho môi trường phát triển và sản xuất.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt GitLab với Nginx và Let's Encrypt SSL trên Debian 11.

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

  • Một máy chủ chạy Debian 11 với RAM tối thiểu 8GB.
  • Một tên miền hợp lệ được trỏ đến IP máy chủ.
  • Một mật khẩu gốc được cấu hình trên máy chủ.

Bắt đầu​

Trước khi bắt đầu, bạn nên cập nhật bộ đệm gói của mình lên phiên bản mới nhất. Bạn có thể thực hiện bằng lệnh sau:
Mã:
apt-get update -y
Sau khi hoàn tất, hãy cài đặt các dependency cần thiết khác bằng lệnh sau:
Mã:
apt-get install curl ca-certificates apt-transport-https gnupg2 -y
Sau khi cài đặt tất cả các dependency cần thiết, bạn có thể tiến hành bước tiếp theo.

Thêm kho lưu trữ GitLab​

Theo mặc định, gói GitLab không có trong kho lưu trữ mặc định của Debian. Vì vậy, bạn sẽ cần thêm kho lưu trữ GitLab vào APT.

Bạn có thể thêm nó bằng cách chạy tập lệnh sau:
Mã:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
Điều này sẽ thêm kho lưu trữ GitLab vào tệp danh sách nguồn APT.

Tại thời điểm viết bài viết này, gói GitLab không khả dụng cho Debian 11. Vì vậy, bạn sẽ cần chỉnh sửa tệp nguồn GitLab và thay thế tên mã Debian 11 bằng Debian 10:
Mã:
nano /etc/apt/sources.list.d/gitlab_gitlab-ce.list
Tìm các dòng sau:
Mã:
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye maindeb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main
Thay thế chúng bằng các dòng sau:
Mã:
deb https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster maindeb-src https://packages.gitlab.com/gitlab/gitlab-ce/debian/ buster main
Lưu và đóng tệp, sau đó cập nhật kho lưu trữ bằng lệnh sau:
Mã:
apt-get update -y

Cài đặt GitLab CE​

Bây giờ bạn có thể cài đặt GitLab CE bằng cách chạy lệnh sau:
Mã:
apt-get install gitlab-ce -y
Sau khi GitLab được cài đặt, 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. *. *. *** *** ***** ***** .****** ******* ********** ******** ,,,,,,,,,,,************,,,,,,,,,,,,,,,,,,,,,,,,,,, ., ... 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.mdGiúp chúng tôi cải thiện trải nghiệm cài đặt, hãy cho chúng tôi biết chúng tôi đã làm như thế nào với bản khảo sát kéo dài 1 phút:https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnibus&release=14-3

Cấu hình GitLab​

Tại thời điểm này, GitLab đã được cài đặt trên hệ thống của bạn nhưng vẫn chưa được định cấu hình. Bạn có thể cấu hình bằng cách chỉnh sửa tệp sau:
Mã:
nano /etc/gitlab/gitlab.rb
Thay đổi dòng sau bằng tên miền của bạn:
Mã:
external_url 'https://gitlab.linuxbuz.com'
Tiếp theo, thay đổi các dòng sau để bật Let's Encrypt SSL:
Mã:
# Bật Let's Encrypt SSLletsencrypt['enable'] = true# Tùy chọn này để nhận cảnh báo liên quan đến SSLletsencrypt['contact_emails'] = ['[emailprotected]']# Ví dụ này gia hạn vào ngày thứ 7 lúc 02:00 sángletsencrypt['auto_renew_hour'] = "2"letsencrypt['auto_renew_minute'] = "0"letsencrypt['auto_renew_day_of_month'] = "*/7"
Lưu và đóng tệp sau đó cấu hình lại GitLab sử dụng lệnh sau:
Mã:
gitlab-ctl reconfigure
Sau khi GitLab được cấu hình lại, bạn sẽ nhận được kết quả đầu ra sau có chứa mật khẩu truy cập GitLab:
Mã:
Ghi chú:Tài khoản quản trị mặc định đã được cấu hình với các chi tiết sau:Tên người dùng: rootMật khẩu: Bạn đã không chọn in mật khẩu gốc ban đầu vào STDOUT.Mật khẩu được lưu trữ trong /etc/gitlab/initial_root_password. Tệp này sẽ được dọn dẹp trong lần chạy cấu hình lại đầu tiên sau 24 giờ.GHI CHÚ: Vì các thông tin xác thực này có thể có trong tệp nhật ký của bạn dưới dạng văn bản thuần túy, nên bạn nên đặt lại mật khẩu theo https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.gitlab Đã cấu hình lại!
Tiếp theo, hãy lấy lại mật khẩu truy cập GitLab bằng lệnh sau:
Mã:
cat /etc/gitlab/initial_root_password
Bạn sẽ thấy kết quả sau:
Mã:
# CẢNH BÁO: Giá trị này chỉ hợp lệ trong các điều kiện sau# 1. Nếu được cung cấp thủ công (thông qua biến môi trường `GITLAB_ROOT_PASSWORD` hoặc thông qua thiết lập `gitlab_rails['initial_root_password']` trong `gitlab.rb`, thì giá trị này được cung cấp trước khi cơ sở dữ liệu được gieo hạt lần đầu tiên (thường là lần chạy cấu hình lại đầu tiên).# 2. Mật khẩu chưa được thay đổi thủ công, thông qua UI hoặc qua dòng lệnh.## Nếu mật khẩu hiển thị ở đây không hoạt động, bạn phải đặt lại mật khẩu quản trị viên theo https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.Mật khẩu: WBgnk2SH4xK5FeJVsJX0Qo79IeyE5LSTGWm3EjDVEkw=# LƯU Ý: Tệp này sẽ tự động bị xóa trong lần chạy cấu hình lại đầu tiên sau 24 giờ.

Truy cập GitLab​

Bây giờ bạn có thể truy cập bảng điều khiển GitLab bằng URL . Bạn sẽ được chuyển hướng đến trang đăng nhập GitLab:



Cung cấp tên người dùng, mật khẩu và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển GitLab trên màn hình sau:


Cấu hình Sao lưu GitLab​

Sau khi cài đặt, bạn nên sao lưu toàn bộ GitLab. Bạn có thể thực hiện bằng lệnh sau:
Mã:
gitlab-rake gitlab:backup:create
Bạn cũng có thể lên lịch sao lưu bằng cách chỉnh sửa tệp /etc/crontab:
Mã:
nano /etc/crontab
Thêm dòng sau:
Mã:
0 22 * * * root gitlab-rake gitlab:backup:create
Lưu và đóng tệp khi bạn hoàn tất.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công GitLab với Nginx và Let's Encrypt SSL trên Debian 11. Bây giờ bạn có thể triển khai GitLab trong môi trường phát triển để giúp quá trình phát triển phần mềm nhanh hơn. 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