CI/CD DevOps

Hướng dẫn cài đặt Gitlab trên Ubuntu 20.04

GitLab

GitLab là một công cụ vòng đời DevOps mã nguồn mở được sử dụng để lưu trữ và quản lý kho Git. Nó được viết bằng Ruby và cung cấp nhiều tính năng bao gồm wiki, quản lý vấn đề, đánh giá mã, giám sát cũng như tích hợp và triển khai liên tục. Bạn có thể lưu trữ nó 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. Nó có sẵn trong ba phiên bản, Phiên bản cộng đồng (CE), Phiên bản doanh nghiệp (EE) và phiên bản GitLab-hosted.

Trong hướng dẫn này, chúng tôi sẽ hướng 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 khẩu root hoặc user có quyền sudo.

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:

apt-get update -y
apt-get upgrade -y

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:

apt-get install apt-transport-https gnupg2 curl -y

Sau khi cài đặt tất cả các gói cần thiế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 nó vào hệ thống của mình.

Đầu tiên, tải xuống và thêm khóa GPG bằng lệnh sau:

curl -sL https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | apt-key add -

Tiếp theo, thêm kho lưu trữ GitLab trong APT bằng lệnh sau:

nano /etc/apt/sources.list.d/gitlab.list

Thêm các dòng sau:

deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main
deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ bionic main

Lưu và đóng tập tin khi bạn hoàn tất. Sau đó, cập nhật kho lưu trữ và cài đặt bằng lệnh sau:

apt-get update -y
apt-get install gitlab-ce -y

Khi GitLab đã được cài đặt thành công, bạn sẽ nhận được kết quả đầu ra sau:

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://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 xác định URL của GitLab. Bạn có thể định nghĩa nó bên trong tệp /etc/gitlab/gitlab.rb.

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:

external_url 'http://gitlab.congdonglinux.com'

Lưu và đóng tập tin. Sau đó, reconfigure bằng cách chạy lệnh sau:

gitlab-ctl reconfigure

Sau khi cấu hình thành công, bạn sẽ nhận được kết quả đầu ra sau:

Recipe: gitlab::puma
  * runit_service[puma] action restart (up to date)
  * runit_service[puma] action restart (up to date)
Recipe: gitlab::sidekiq-cluster
  * runit_service[sidekiq] action restart (up to date)
Recipe: gitlab::gitlab-rails
  * execute[clear the gitlab-rails cache] action run
    - execute /opt/gitlab/bin/gitlab-rake cache:clear
Recipe: nginx::enable
  * runit_service[nginx] action restart (up to date)
Recipe: monitoring::grafana
  * runit_service[grafana] action restart (up to date)

Running handlers:
Running handlers complete
Chef Client finished, 12/767 resources updated in 01 minutes 20 seconds
gitlab Reconfigured!

Bây giờ bạn có thể kiểm tra trạng thái của GitLab bằng lệnh sau:

gitlab-ctl status

Bạn sẽ nhận được kết quả đầu ra sau:

down: alertmanager: 1s, normally up, want up; run: log: (pid 12973) 142s
run: gitaly: (pid 14216) 17s; run: log: (pid 12352) 286s
run: gitlab-exporter: (pid 14165) 19s; run: log: (pid 12885) 161s
run: gitlab-workhorse: (pid 14152) 19s; run: log: (pid 12767) 185s
run: grafana: (pid 14252) 15s; run: log: (pid 13855) 54s
run: logrotate: (pid 12818) 174s; run: log: (pid 12826) 173s
run: nginx: (pid 12798) 180s; run: log: (pid 12807) 179s
run: node-exporter: (pid 14160) 19s; run: log: (pid 12867) 167s
run: postgres-exporter: (pid 14246) 15s; run: log: (pid 13082) 130s
run: postgresql: (pid 12515) 280s; run: log: (pid 12532) 277s
run: prometheus: (pid 14183) 18s; run: log: (pid 12931) 149s
run: puma: (pid 12718) 199s; run: log: (pid 12727) 196s
run: redis: (pid 12309) 293s; run: log: (pid 12318) 292s
run: redis-exporter: (pid 14176) 18s; run: log: (pid 12908) 154s
run: sidekiq: (pid 12737) 193s; run: log: (pid 12749) 190s

Bảo mật GitLab với 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 cấu hình bảo mật GitLab của mình bằng Let’s Encrypt SSL.

Đầu tiên, cài đặt công cụ máy khách Let’s Encrypt bằng lệnh sau:

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.

nano /etc/gitlab/gitlab.rb

Thay đổi các dòng sau:

external_url 'https://gitlab.linuxbuz.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']
letsencrypt['auto_renew'] = true

Lưu và đóng tập tin khi bạn hoàn tất. Sau đó, cấu hình lại bằng lệnh sau:

gitlab-ctl reconfigure

Một khi bạn đã hoàn thành. Bạn có thể tiến hành bước tiếp theo.

Truy cập giao diện GitLab

Tại thời điểm này, GitLab được bảo mật bằng SSL miễn phí Let’s Encrypt. 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 của bạn và nhấp vào  nút Thay đổi  mật khẩu của bạn   . Bạn sẽ thấy màn hình sau:

Bây giờ, 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:

Vô hiệu hóa đăng ký công khai

Theo mặc định, GitLab cho phép mọi người đăng ký tài khoản bằng URL. Cài đặt này rất hữu ích nếu bạn muốn lưu trữ một dự án công cộng. Tuy nhiên, nếu bạn muốn sử dụng 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, 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  ở khung bên trái. Bạn sẽ thấy màn hình sau:

Tiếp theo, cuộn xuống phần “Sign-up restrictions” và nhấp vào nút Mở rộng. Bỏ chọn “Sign-up enabled” và nhấp vào Lưu thay đổi khi hoàn tất.

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

Xác minh chức năng

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  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ị của bạn và nhấp vào  nút Tạo  dự án  . Bạn sẽ thấy màn hình sau:

Tiếp theo, đi tới hệ thống từ xa và định cấu hình Git bằng lệnh sau:

git config --global user.name "Hitesh Jethva"
git config --global user.email "[email protected]"

Tiếp theo, sao chép kho lưu trữ dự án của bạn bằng lệnh sau:

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:

Cloning into 'project1'...
Username for 'https://gitlab.linuxbuz.com': root
Password for 'https://[email protected]': 
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

Tiếp theo, thay đổi thư mục dự án của bạn và tạo tệp README.md:

cd project1
echo "This is my first file" > README.md

Tiếp theo, thêm tệp README.md vào kho lưu trữ của bạn và thực hiện các thay đổi bằng lệnh sau:

git add README.md
git commit -m "add README"

Bạn sẽ thấy đầu ra sau:

[master (root-commit) ae4d108] add README
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

Tiếp theo, đẩy tệp của bạn vào kho lưu trữ từ xa bằng lệnh sau:

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 vào kho lưu trữ từ xa:

Username for 'https://gitlab.linuxbuz.com': root
Password for 'https://[email protected]': 
Counting objects: 3, done.
Writing objects: 100% (3/3), 237 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://gitlab.linuxbuz.com/root/project1.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from 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 dự án  . Bạn sẽ thấy tệp README.md của mình trong màn hình sau:

Phần 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 hỏi tôi nếu bạn có bất kỳ câu hỏi nào.

Tham khảo:
https://congdonglinux.com/how-to-install-and-configure-gitlab-on-ubuntu-18-04-lts/

Đăng ký liền tay Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !

Tags

Add Comment

Click here to post a comment

Đăng ký liền tay
Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !