GitLab là trình quản lý kho lưu trữ mã nguồn mở dựa trên Rails do GitLab Inc. phát triển. Đây là trình quản lý kho lưu trữ git dựa trên web cho phép nhóm của bạn cộng tác mã hóa, thử nghiệm và triển khai ứng dụng. GitLab cung cấp một số tính năng, bao gồm wiki, theo dõi sự cố, đánh giá mã và nguồn cấp dữ liệu hoạt động.
GitLab Inc cung cấp 4 sản phẩm:
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt GitLab CE trên CentOS 8 Server phiên bản mới nhất với 4GB RAM, 30GB dung lượng đĩa trống và 2 CPU.
Chúng tôi sẽ làm gì?
Cài đặt các gói phụ thuộc cho GitLab CE bằng lệnh dnf bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy khởi động các dịch vụ SSH và Postfix.
Tiếp theo, thêm cả hai dịch vụ vào hệ thống khởi động.
Kết quả là quá trình cài đặt các gói phụ thuộc đã hoàn tất.
Thêm kho lưu trữ GitLab bằng cách sử dụng tập lệnh cài đặt bên dưới.
Sau khi hoàn tất, bên dưới là kết quả bạn sẽ nhận được.
Để xác minh kho lưu trữ GitLab, hãy chạy lệnh dnf bên dưới.
Và bạn sẽ thấy kho lưu trữ GitLab trong danh sách.
Tiếp theo, cài đặt các gói GitLab CE bằng lệnh
Sau khi hoàn tất quá trình cài đặt, bạn sẽ nhận được kết quả như bên dưới.
Kết quả là GitLab CE Community Edition hiện đã được cài đặt trên Hệ thống CentOS 8.
Trong bước này, chúng ta sẽ tạo SSL Letsencrypt bằng công cụ dòng lệnh certbot, có thể được cài đặt từ kho lưu trữ EPEL, sau đó tạo chứng chỉ DHPARAM bằng openssl.
Thêm kho lưu trữ EPEL vào hệ thống CentOS 8 bằng lệnh bên dưới.
Tiếp theo, cài đặt các gói certbot bằng lệnh dnf bên dưới.
Sau khi hoàn tất toàn bộ quá trình cài đặt, hãy tạo SSL Letsencryp cho GitLab bằng lệnh certbot bên dưới.
Bây giờ chứng chỉ SSL của bạn sẽ có sẵn tại thư mục '/etc/letsencrypt/live/gitlab.hakase-labs.io', hãy kiểm tra bằng lệnh sau.
Bạn sẽ nhận được chứng chỉ 'fullchain.pem' và 'privkey.pem'.
Tiếp theo, tạo chứng chỉ DHPARAM vào thư mục '/etc/gitlab' bằng lệnh openssl bên dưới.
Sau khi hoàn tất, hãy thay đổi quyền của chứng chỉ 'dhparam.pem' thành '0600'.
Kết quả là, chứng chỉ SSL Letsencrypt và DHPARAM cho GitLab đã được tạo.
Đi tới thư mục '/etc/gitlab' và chỉnh sửa cấu hình 'gitlab.rb'.
Trên dòng 'external_url', hãy thay đổi tên miền mặc định bằng của riêng bạn và thay đổi giao thức http thành https như bên dưới.
Tiếp theo, thêm cấu hình sau vào sau dòng 'external_url' và đảm bảo thay đổi chứng chỉ SSL và DHPARAM bằng chứng chỉ của riêng bạn.
Lưu và đóng.
Tiếp theo, chạy lệnh sau để cấu hình lại GitLab và áp dụng cấu hình mới.
Lệnh này sẽ gọi tập lệnh Chef đã cung cấp năng lượng cho Omnibus GitLab để cấu hình lại cài đặt GitLab của bạn.
Sau khi hoàn tất, hãy chuyển sang bước tiếp theo.
Chạy lệnh firewall-cmd bên dưới.
Sau đó, tải lại dịch vụ firewalld để áp dụng cấu hình mới.
Bây giờ hãy kiểm tra tất cả các dịch vụ trên firewalld bằng lệnh bên dưới.
Bây giờ bạn sẽ nhận được các dịch vụ SSH, HTTP và HTTPS trong danh sách.
Kết quả là bạn đã thêm các dịch vụ HTTP và HTTPS vào firewalld và GitLab hiện đã sẵn sàng và có thể truy cập được.
Và bạn sẽ được chuyển hướng đến trang đặt lại mật khẩu.
Bây giờ hãy nhấp vào nút 'Thay đổi mật khẩu của bạn' và bạn sẽ được chuyển hướng đến trang đăng nhập GitLab.
Nhập người dùng mặc định là 'root' và mật khẩu của bạn, sau đó nhấp vào nút 'Đăng nhập' và bạn sẽ nhận được Bảng điều khiển GitLab như bên dưới.
Để thay đổi cài đặt hồ sơ của bạn, hãy nhấp vào góc trên bên phải của biểu tượng hồ sơ của bạn và nhấp vào biểu tượng 'Cài đặt' để thiết lập hồ sơ của bạn.
Bây giờ hãy nhập tên người dùng và địa chỉ email mới của bạn, sau đó cuộn xuống trang cuối cùng và nhấp vào nút 'cập nhật cài đặt hồ sơ'.
Tiếp theo, nhấp vào tab 'Tài khoản', thay đổi tên người dùng mặc định 'root' bằng tên của riêng bạn, sau đó nhấp vào nút 'cập nhật tên người dùng'.
Kết quả là tên người dùng và địa chỉ email mặc định cho người dùng root đã được thay đổi.
Bây giờ, bạn sẽ nhận được khóa SSH được tạo tại thư mục '~/.ssh', bên trong thư mục trang chủ của người dùng.
Tiếp theo, quay lại bảng điều khiển GitLab và nhấp vào menu tab 'Khóa SSH'.
Sao chép nội dung khóa công khai SSH của bạn '~/.ssh/id_rsa.pub' và dán vào trang GitLab, sau đó nhấp vào nút 'Thêm khóa'.
Kết quả là khóa SSH đã được thêm vào GitLab.
Bây giờ hãy nhấp vào 'Cài đặt' > 'Chung', trên phần 'Tài khoản và giới hạn', nhấp vào 'Mở rộng'.
Thay đổi "Giới hạn dự án mặc định" theo nhu cầu của bạn và nhấp vào nút 'Lưu'.
Kết quả là, giới hạn dự án mặc định cho mọi tài khoản đã được thay đổi.
Bây giờ hãy nhập thông tin chi tiết về tên dự án, slug dự án và mô tả của bạn, sau đó nhấp vào 'Tạo dự án' button.
Và dự án GitLab mới đã được tạo.
Mở terminal của bạn và chạy lệnh git sau để thiết lập người dùng và địa chỉ email mặc định cho git.
Tiếp theo, hãy sao chép dự án GitLab của bạn vào thư mục máy tính cục bộ và vào đó.
Kết quả là, người dùng và email mặc định cho Git đã được cấu hình và dự án GitLab đã được sao chép vào thư mục cục bộ máy tính.
Chỉnh sửa tệp 'README.md' bằng trình soạn thảo của bạn.
Bây giờ hãy thực hiện thay đổi trên tệp, sau đó lưu và đóng.
Sau đó, thêm phiên bản mới của tệp 'README.md' và cam kết' bằng lệnh bên dưới.
Bây giờ hãy đẩy các thay đổi mới vào kho lưu trữ GitLab bằng lệnh git push bên dưới.
Các thay đổi mới của tệp 'README.md' đã được đẩy lên kho lưu trữ GitLab.
Tiếp theo, quay lại kho lưu trữ GitLab trên trình duyệt web của bạn và bạn sẽ nhận được phiên bản mới của tệp 'README.md' với bình luận cam kết ở trên cùng.
Kết quả là chúng ta đã tạo thành công một dự án GitLab mới và thực hiện các thay đổi vào đó.
Cuối cùng, quá trình cài đặt và cấu hình GitLab trên CentOS 8 Server đã hoàn tất thành công.
GitLab Inc cung cấp 4 sản phẩm:
- Gitlab CE (Phiên bản cộng đồng) - tự lưu trữ và miễn phí; hỗ trợ từ diễn đàn cộng đồng.
- Gitlab EE (Phiên bản doanh nghiệp) - tự lưu trữ và trả phí; đi kèm với các tính năng bổ sung.
- GitLab.com - SaaS và miễn phí.
- GitLab.io - Phiên bản GitLab riêng tư do GitLab Inc. quản lý.
Điều kiện tiên quyết
Đối với hướng dẫn này, chúng tôi sẽ cài đặt GitLab CE trên CentOS 8 Server phiên bản mới nhất với 4GB RAM, 30GB dung lượng đĩa trống và 2 CPU.
Chúng tôi sẽ làm gì?
- Cài đặt các gói phụ thuộc
- Thêm kho lưu trữ và cài đặt GitLab CE (Phiên bản cộng đồng)
- Tạo SSL Letsencrypt và Chứng chỉ DHPARAM
- Bật Nginx HTTPS cho GitLab
- Cấu hình Firewalld
- GitLab sau khi cài đặt
- Kiểm tra
Bước 1 - Cài đặt các gói phụ thuộc
Đầu tiên, chúng ta sẽ cài đặt một số gói phụ thuộc cần thiết cho GitLab, bao gồm các gói OpenSSH và Postfix.Cài đặt các gói phụ thuộc cho GitLab CE bằng lệnh dnf bên dưới.
Mã:
sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix
Mã:
systemctl start sshd
systemctl start postfix
Mã:
systemctl enable sshd
systemctl enable postfix
Bước 2 - Thêm kho lưu trữ và cài đặt GitLab
Trong bước này, chúng tôi sẽ thêm kho lưu trữ GitLab chính thức vào hệ thống CentOS 8 của mình và cài đặt các gói GitLab CE.Thêm kho lưu trữ GitLab bằng cách sử dụng tập lệnh cài đặt bên dưới.
Mã:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Mã:
Đang tạo bộ đệm yum cho gitlab_gitlab-ce...
Đang nhập khóa GPG 0x51312F3F:
Userid: "GitLab B.V. (khóa ký kho lưu trữ gói) "
Dấu vân tay: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
Từ: https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Đang nhập khóa GPG 0xF27EAB47:
Userid: "GitLab, Inc. "
Dấu vân tay: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
Từ: https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Đang tạo bộ đệm yum cho gitlab_gitlab-ce-source...
Mã:
Kho lưu trữ đã được thiết lập! Bây giờ bạn có thể cài đặt các gói.
Mã:
sudo dnf repolist
Tiếp theo, cài đặt các gói GitLab CE bằng lệnh
Mã:
sudo dnf install gitlab-ce -y
Kết quả là GitLab CE Community Edition hiện đã được cài đặt trên Hệ thống CentOS 8.
Bước 3 - Tạo SSL Letsencrypt và DHPARAM
Đối với hướng dẫn này, chúng tôi sẽ chạy GitLab trên kết nối HTTPS an toàn và chúng tôi sẽ sử dụng SSL Letsencrypt từ Letsencrypt và DHAPRAM có thể được tạo bằng openssl lệnh.Trong bước này, chúng ta sẽ tạo SSL Letsencrypt bằng công cụ dòng lệnh certbot, có thể được cài đặt từ kho lưu trữ EPEL, sau đó tạo chứng chỉ DHPARAM bằng openssl.
Thêm kho lưu trữ EPEL vào hệ thống CentOS 8 bằng lệnh bên dưới.
Mã:
sudo dnf install epel-release
Mã:
sudo dnf install certbot
Mã:
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [emailprotected] -d gitlab.hakase-labs.io
Mã:
ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/
Tiếp theo, tạo chứng chỉ DHPARAM vào thư mục '/etc/gitlab' bằng lệnh openssl bên dưới.
Mã:
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
Mã:
sudo chmod 600 /etc/gitlab/dhparams.pem
Bước 4 - Thiết lập tên miền Bật Nginx HTTPS cho GitLab
Trong bước này, chúng tôi sẽ thiết lập tên miền và bật kết nối bảo mật Nginx HTTPS cho GitLab.Đi tới thư mục '/etc/gitlab' và chỉnh sửa cấu hình 'gitlab.rb'.
Mã:
cd /etc/gitlab/
vim gitlab.rb
Mã:
external_url 'https://gitlab.hakase-labs.io'
Mã:
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"
Tiếp theo, chạy lệnh sau để cấu hình lại GitLab và áp dụng cấu hình mới.
Mã:
sudo gitlab-ctl reconfigure
Sau khi hoàn tất, hãy chuyển sang bước tiếp theo.
Bước 5 - Cấu hình Firewalld
Sau khi bật HTTPS trên GitLab, chúng tôi sẽ thêm các dịch vụ HTTP và HTTPS vào firewalld.Chạy lệnh firewall-cmd bên dưới.
Mã:
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Mã:
firewall-cmd --reload
Mã:
firewall-cmd --list-services
Kết quả là bạn đã thêm các dịch vụ HTTP và HTTPS vào firewalld và GitLab hiện đã sẵn sàng và có thể truy cập được.
Bước 6 - Cài đặt GitLab sau
Mở trình duyệt web của bạn và nhập tên miền GitLab của bạn vào thanh địa chỉ. Của tôi là: https://gitlab.hakase-labs.io/, hãy sử dụng địa chỉ của bạn.Và bạn sẽ được chuyển hướng đến trang đặt lại mật khẩu.
- Đặt lại mật khẩu mặc định của GitLab
Nhập mật khẩu mới cho người dùng GitLab mặc định là 'root'.Bây giờ hãy nhấp vào nút 'Thay đổi mật khẩu của bạn' và bạn sẽ được chuyển hướng đến trang đăng nhập GitLab.
Nhập người dùng mặc định là 'root' và mật khẩu của bạn, sau đó nhấp vào nút 'Đăng nhập' và bạn sẽ nhận được Bảng điều khiển GitLab như bên dưới.
Thay đổi hồ sơ và tên người dùng
Sau khi bạn đã đăng nhập vào Bảng điều khiển GitLab, hãy thay đổi người dùng 'root' mặc định bằng own.Để thay đổi cài đặt hồ sơ của bạn, hãy nhấp vào góc trên bên phải của biểu tượng hồ sơ của bạn và nhấp vào biểu tượng 'Cài đặt' để thiết lập hồ sơ của bạn.
Bây giờ hãy nhập tên người dùng và địa chỉ email mới của bạn, sau đó cuộn xuống trang cuối cùng và nhấp vào nút 'cập nhật cài đặt hồ sơ'.
Tiếp theo, nhấp vào tab 'Tài khoản', thay đổi tên người dùng mặc định 'root' bằng tên của riêng bạn, sau đó nhấp vào nút 'cập nhật tên người dùng'.
Kết quả là tên người dùng và địa chỉ email mặc định cho người dùng root đã được thay đổi.
Thêm Khóa SSH
Bây giờ chúng ta sẽ thêm Khóa SSH vào GitLab. Hãy đảm bảo rằng bạn có khóa SSH, nếu không, bạn có thể tạo khóa SSH bằng lệnh sau.
Mã:
ssh-keygen
Tiếp theo, quay lại bảng điều khiển GitLab và nhấp vào menu tab 'Khóa SSH'.
Sao chép nội dung khóa công khai SSH của bạn '~/.ssh/id_rsa.pub' và dán vào trang GitLab, sau đó nhấp vào nút 'Thêm khóa'.
Kết quả là khóa SSH đã được thêm vào GitLab.
Thiết lập giới hạn dự án cho mỗi tài khoản
Trên menu ở giữa trên cùng, nhấp vào nút 'Cài đặt'.Bây giờ hãy nhấp vào 'Cài đặt' > 'Chung', trên phần 'Tài khoản và giới hạn', nhấp vào 'Mở rộng'.
Thay đổi "Giới hạn dự án mặc định" theo nhu cầu của bạn và nhấp vào nút 'Lưu'.
Kết quả là, giới hạn dự án mặc định cho mọi tài khoản đã được thay đổi.
Bước 7 - Tạo dự án mới và cam kết
Trong bước này, chúng ta sẽ kiểm tra cài đặt GitLab của mình bằng cách tạo một dự án GitLab mới.Tạo dự án GitLab mới
Để tạo dự án mới trên GitLab, hãy nhấp vào nút cắm '+' ở menu trên cùng bên phải.Bây giờ hãy nhập thông tin chi tiết về tên dự án, slug dự án và mô tả của bạn, sau đó nhấp vào 'Tạo dự án' button.
Và dự án GitLab mới đã được tạo.
Thiết lập GitLab trên máy tính xách tay của bạn
Sau khi tạo dự án mới trên GitLab, chúng ta sẽ thiết lập tài khoản GitLab trên máy tính cục bộ.Mở terminal của bạn và chạy lệnh git sau để thiết lập người dùng và địa chỉ email mặc định cho git.
Mã:
git config --global user.name "hakase"
git config --global user.email "[emailprotected]"
Mã:
git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/
Thực hiện thay đổi và cam kết
Bây giờ chúng ta có dự án GitLab trên máy tính cục bộ và chúng ta sẽ thử thay đổi tệp 'README.md' và thực hiện cam kết đầu tiên cho dự án GitLab của mình.Chỉnh sửa tệp 'README.md' bằng trình soạn thảo của bạn.
Mã:
vim README.md
Sau đó, thêm phiên bản mới của tệp 'README.md' và cam kết' bằng lệnh bên dưới.
Mã:
git add .
git commit -m "Change README.md"
Mã:
git push origin master
Tiếp theo, quay lại kho lưu trữ GitLab trên trình duyệt web của bạn và bạn sẽ nhận được phiên bản mới của tệp 'README.md' với bình luận cam kết ở trên cùng.
Kết quả là chúng ta đã tạo thành công một dự án GitLab mới và thực hiện các thay đổi vào đó.
Cuối cùng, quá trình cài đặt và cấu hình GitLab trên CentOS 8 Server đã hoàn tất thành công.