Gitlab Server là phiên bản mã nguồn mở của kiểm soát phiên bản Gitlab được lưu trữ trên đám mây. Ưu điểm của việc tự lưu trữ kho lưu trữ của bạn so với lưu trữ đám mây là bạn có toàn quyền kiểm soát mã của mình.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Gitlab Server bằng Docker trên Debian 12. Gitlab server cung cấp hai phiên bản - phiên bản Cộng đồng miễn phí và phiên bản Doanh nghiệp trả phí. Chúng tôi sẽ cài đặt phiên bản Cộng đồng. Bạn có thể dễ dàng nâng cấp lên phiên bản Enterprise nếu muốn có nhiều tính năng hơn.
Hướng dẫn này ban đầu được Navjot Singh viết cho Ubuntu 22.04 và đã được sửa đổi và cập nhật cho Debian 12.
Một số gói này có thể được cài đặt sẵn trên hệ thống của bạn.
Để thực hiện việc này, hãy mở tệp
Tìm dòng sau, xóa dấu thăng (#) ở phía trước và đổi giá trị từ 22 thành bất kỳ giá trị nào bạn chọn. Đối với hướng dẫn của chúng tôi, chúng tôi đã chọn 2425 bằng cách thay đổi
thành
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Khởi động lại SSH dịch vụ.
Đóng phiên SSH hiện tại của bạn và đăng nhập lại bằng cổng mới.
Chạy lệnh sau để thêm Docker kho lưu trữ.
Cập nhật hệ thống để bao gồm kho lưu trữ của Docker.
Cài đặt Docker.
Hướng dẫn này sẽ sử dụng plugin Docker Compose v2 thay vì nhị phân cũ. Do đó, lệnh chạy nó đã thay đổi từ
Docker chạy với các đặc quyền nâng cao, vì vậy bạn sẽ cần sử dụng
Biến
Để đăng ký làm thành viên nhóm mới, hãy đăng xuất khỏi máy chủ rồi đăng nhập lại hoặc sử dụng lệnh sau. Bạn sẽ được nhắc nhập mật khẩu của người dùng.
Tạo Docker volume thư mục.
Chuyển sang thư mục /opt/gitlab.
Tạo một tệp biến môi trường và mở nó cho chỉnh sửa.
Dán mã sau để xác định
Bộ chứa Gitlab sử dụng các ổ đĩa được gắn trên máy chủ để lưu trữ dữ liệu liên tục. Bảng sau đây hiển thị bản đồ vị trí cục bộ của các thư mục Gitlab đến vị trí của các container và cách sử dụng tương ứng của chúng.
Tạo và mở tệp cấu hình Docker compose để chỉnh sửa.
Dán mã sau vào nó.
Chúng ta hãy xem xét tất cả các tùy chọn được xác định trong tệp.
Quá trình này sẽ mất vài phút để hoàn tất. Bạn có thể theo dõi tiến trình bằng cách sử dụng nhật ký Docker.
Nhấn Ctrl + C để thoát khỏi việc theo dõi nhật ký.
Bạn có thể kiểm tra trạng thái của vùng chứa Gitlab bằng lệnh sau.
Gitlab tự động tạo mật khẩu gốc và lưu trữ trong Tệp
Bạn sẽ nhận được kết quả tương tự.
Sao chép mật khẩu và lưu lại để sử dụng sau. Bây giờ mọi thứ đã được thiết lập, chúng ta có thể tiến hành cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22403%22%3E%3C/svg%3E
Nhập
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22290%22%3E%3C/svg%3E
Như bạn thấy, Gitlab đã tạo một dự án để giám sát phiên bản.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E
Bỏ chọn tùy chọn Cho phép đăng ký để hạn chế họ. Nhấn nút Lưu thay đổi để áp dụng cài đặt.
Trong trường hợp bạn không thấy cửa sổ bật lên trong bảng điều khiển, bạn có thể truy cập trang cài đặt bằng cách nhấp vào nút Menu và truy cập bảng điều khiển Quản trị từ đó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22619%22%20height=%22588%22%3E%3C/svg%3E
Khi đã vào bảng điều khiển quản trị, hãy di chuột qua tùy chọn Cài đặt ở thanh bên trái và nhấp vào menu phụ Chung. Từ đó, bạn có thể truy cập bảng Hạn chế đăng ký.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22445%22%20height=%22723%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22310%22%20height=%22278%22%3E%3C/svg%3E
Bạn sẽ được đưa đến trang Cài đặt hồ sơ, tại đó bạn có thể thêm tên, email và các thông tin khác về bản thân. Nhấp vào Cập nhật cài đặt hồ sơ khi bạn hoàn tất. Đừng quay lại trang chủ vì chúng ta còn một số thứ cần cấu hình ở đây.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22665%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22326%22%3E%3C/svg%3E
Nhập thông tin chi tiết về mật khẩu của bạn và nhấp vào Lưu mật khẩu để thực hiện thay đổi. Bạn sẽ bị đăng xuất khỏi phiên bản của mình và phải đăng nhập lại.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22338%22%3E%3C/svg%3E
Khi đã vào trang, hãy nhập tên người dùng mới của bạn và nhấp vào nút Cập nhật tên người dùng để thực hiện thay đổi. Bạn sẽ được nhắc xác nhận lần nữa. Nhấn nút Cập nhật tên người dùng một lần nữa để xác nhận thay đổi.
Bạn cũng nên bật xác thực hai yếu tố tại đây để cải thiện bảo mật tài khoản của mình.
Khi đã vào trong Bảng điều khiển quản trị, hãy mở Cài đặt >> Tùy chọn menu Số liệu và hồ sơ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22440%22%20height=%22388%22%3E%3C/svg%3E
Mở rộng phần Số liệu - Prometheus trên trang Số liệu và bỏ chọn tùy chọn Bật điểm cuối số liệu về tình trạng và hiệu suất. Nhấp vào nút Lưu thay đổi để thực hiện thay đổi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22254%22%3E%3C/svg%3E
Gitlab cũng thu thập thông tin sử dụng từ mọi cài đặt. Nếu bạn coi trọng quyền riêng tư và không muốn điều đó xảy ra, hãy mở rộng tùy chọn Thống kê sử dụng trên cùng một trang và Bỏ chọn tùy chọn Bật dịch vụ Ping. Nhấp vào nút Lưu thay đổi để thực hiện thay đổi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22367%22%3E%3C/svg%3E
Lệnh này phổ biến trên macOS, Linux và Git Bash/WSL trên Windows. Chấp nhận các giá trị mặc định và nhập mật khẩu mạnh. Chúng tôi đang tạo khóa SSH trên Windows Powershell Terminal.
Thêm danh tính khóa riêng vào tác nhân xác thực SSH. Đảm bảo dịch vụ OpenSSH Authentication Agent đang chạy nếu bạn đang sử dụng Windows. Nếu bạn đang sử dụng Linux hoặc macOS, hãy chạy lệnh sau.
Thêm khóa.
Trên Linux và macOS, lệnh sẽ thay đổi to
Bạn sẽ được nhắc nhập mật khẩu. Nhập mật khẩu và khóa sẽ được thêm vào.
Tiếp theo, chúng ta cần lưu các thiết lập này vào tệp
Trong tệp này, tên đường dẫn sẽ giữ nguyên trên tất cả các hệ điều hành. Lưu tệp.
Tiếp theo, chúng ta cần sao chép khóa công khai vào tài khoản Gitlab của mình. Bạn có thể hiển thị khóa công khai của mình thông qua lệnh sau. Tên đường dẫn sẽ lại hoạt động trên tất cả các hệ điều hành tại đây.
Bạn sẽ nhận được kết quả tương tự.
Mở cài đặt hồ sơ của bạn trong Gitlab và chọn menu Khóa SSH từ thanh bên trái.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22259%22%20height=%22557%22%3E%3C/svg%3E
Dán khóa SSH vào hộp được cung cấp và nhấp vào Thêm khóa để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22430%22%3E%3C/svg%3E
Tiếp theo, chúng ta cần kiểm tra xem kết nối SSH của mình có hoạt động thành công không. Chạy lệnh sau trên thiết bị đầu cuối PC của bạn.
Bạn sẽ nhận được kết quả tương tự. Trước tiên, bạn sẽ được yêu cầu thêm khóa SSH vào danh sách Máy chủ đã biết của hệ thống. Nhập yes để tiếp tục. Bạn cũng sẽ nhận được cảnh báo rằng khóa SSH cho phiên bản Gitlab và IP máy chủ của bạn không giống nhau và sẽ được hỏi lại xem bạn có muốn tiếp tục không. Nhập yes lần nữa. Cuối cùng, bạn sẽ nhận được thông báo thành công xác nhận kết nối của bạn với phiên bản Gitlab.
Bây giờ, chúng ta có thể chuyển sang tạo kho lưu trữ đầu tiên và thực hiện một số cam kết.
Để tạo kho lưu trữ đầu tiên của bạn, hãy nhấp vào nút Dự án mới trên trang chủ của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22383%22%20height=%22369%22%3E%3C/svg%3E
Bạn sẽ được đưa đến trang Dự án mới, tại đó bạn sẽ được cung cấp nhiều tùy chọn về cách tạo dự án mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Chọn tùy chọn Create blank project để tiếp tục. Ở trang tiếp theo, nhập tên dự án. Chọn tên người dùng của bạn từ menu thả xuống trong tùy chọn Project URL. Đặt slug cho dự án của bạn. Nhập mô tả về dự án nếu bạn thích và thay đổi khả năng hiển thị của dự án theo nhu cầu của bạn. Bạn có thể Khởi tạo kho lưu trữ của mình bằng tệp
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22433%22%3E%3C/svg%3E
Sau khi hoàn tất, hãy nhấp vào Tạo dự án. Bạn sẽ được đưa đến trang kho lưu trữ của mình với chỉ một tệp
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22685%22%3E%3C/svg%3E
Bây giờ kho lưu trữ của chúng ta đã hoạt động, hãy thử thêm nhật ký thay đổi từ dòng lệnh. Nhập các lệnh sau trên máy tính của bạn để tạo tệp
Bước đầu tiên là sao chép kho lưu trữ. Bạn có thể sao chép bằng SSH hoặc HTTPS. Sao chép bằng SSH. Bạn sẽ được yêu cầu nhập mật khẩu.
Nhập phần còn lại của lệnh để tạo và đẩy tệp
Bạn sẽ được nhắc nhập mật khẩu một lần nữa trong lệnh đẩy.
Quay lại trang dự án Gitlab của bạn và bạn sẽ thấy tệp
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22412%22%3E%3C/svg%3E
Nếu tại bất kỳ thời điểm nào bạn muốn dừng vùng chứa, hãy đưa ra lệnh sau từ bên trong Docker compose thư mục.
Để khởi động lại, hãy đưa ra lệnh sau.
Nếu bạn muốn thay đổi bất kỳ cài đặt nào hoặc thêm cài đặt vào phiên bản Gitlab của mình, bạn có thể thực hiện bằng cách chỉnh sửa Tệp
Để khởi động lại container, hãy phát hành lệnh sau. Tuy nhiên, lệnh khởi động lại sau đây không chọn bất kỳ thay đổi nào được thực hiện đối với tệp Docker compose.
Truy cập shell container.
Tệp sao lưu được lưu trong thư mục
Bạn có thể tạo một mục cron để sao lưu cài đặt Gitlab của mình thường xuyên.
Khôi phục Gitlab yêu cầu chạy một số lệnh. Trước tiên, bạn cần dừng các quy trình được kết nối với cơ sở dữ liệu.
Thay thế
Xác minh rằng các quy trình đã ngừng hoạt động trước tiếp tục.
Sao chép tệp sao lưu vào thư mục
Chạy lệnh khôi phục. Bạn cần xóa phần
Sao chép
Khởi động lại vùng chứa Gitlab. Chúng ta không thể sử dụng lệnh
Kiểm tra Gitlab.
Tiếp theo, chuyển đến thư mục Docker compose của Gitlab.
Tiếp theo, dừng và xóa vùng chứa hiện có. Tuy nhiên, dữ liệu của bạn sẽ được giữ lại.
Kéo phiên bản mới nhất của hình ảnh Gitlab Docker.
Khởi động các container một lần nữa.
Quy trình này phù hợp để nâng cấp giữa các phiên bản Gitlab phụ nhưng khi bạn nâng cấp lên phiên bản chính, bạn phải thực hiện các bước bổ sung và thực hiện các biện pháp phòng ngừa. Bạn nên tham khảo tài liệu của Gitlab trước khi thực hiện nâng cấp.
Hướng dẫn này sẽ chỉ cho bạn cách cài đặt Gitlab Server bằng Docker trên Debian 12. Gitlab server cung cấp hai phiên bản - phiên bản Cộng đồng miễn phí và phiên bản Doanh nghiệp trả phí. Chúng tôi sẽ cài đặt phiên bản Cộng đồng. Bạn có thể dễ dàng nâng cấp lên phiên bản Enterprise nếu muốn có nhiều tính năng hơn.
Hướng dẫn này ban đầu được Navjot Singh viết cho Ubuntu 22.04 và đã được sửa đổi và cập nhật cho Debian 12.
Điều kiện tiên quyết
-
Máy chủ chạy Debian 12
-
Tên miền đủ điều kiện (FQDN) trỏ đến máy chủ như sau,gitlab.example.com
.
- Bạn đã đăng nhập với tư cách là người dùng root.
- Mọi thứ đều đã cập nhật.
Mã:
apt update && apt upgrade
Bước 1 - Cài đặt Dependencies
Trước khi cài đặt Gitlab, chúng ta phải cài đặt một số gói nhất định được yêu cầu trong hướng dẫn của chúng tôi.
Mã:
apt install ca-certificates curl openssh-server apt-transport-https gnupg lsb-release -y
Bước 2 - Thay đổi cổng SSH của hệ thống
Gitlab sử dụng cổng SSH mặc định, điều này sẽ xung đột với cổng SSH của hệ thống. Tốt hơn hết là bạn nên thay đổi cổng mặc định của hệ thống để có kết quả tốt nhất.Để thực hiện việc này, hãy mở tệp
/etc/ssh/sshd_config
để chỉnh sửa.
Mã:
nano /etc/ssh/sshd_config
Mã:
#Port 22
Mã:
Port 2222
Khởi động lại SSH dịch vụ.
Mã:
systemctl restart sshd
Mã:
ssh username@ -p 2222
Bước 3 - Cài đặt Docker và Docker Compose
Thêm khóa GPG chính thức của Docker.
Mã:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
Mã:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Mã:
apt update
Mã:
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker-compose
thành docker compose
và điều này được phản ánh ở đây.Docker chạy với các đặc quyền nâng cao, vì vậy bạn sẽ cần sử dụng
sudo
thường xuyên để chạy lệnh. Tốt hơn là thêm tài khoản người dùng Linux của bạn vào nhóm người dùng.
Mã:
usermod -aG docker ${USER}
${USER}
sẽ chọn tài khoản hệ thống hiện đang đăng nhập. Nếu bạn không đăng nhập bằng người dùng mà bạn muốn cấp quyền, hãy thay thế ${USER}
bằng tên người dùng.Để đăng ký làm thành viên nhóm mới, hãy đăng xuất khỏi máy chủ rồi đăng nhập lại hoặc sử dụng lệnh sau. Bạn sẽ được nhắc nhập mật khẩu của người dùng.
Mã:
su - $(USER)
Bước 4 - Thiết lập Docker Volume
Trước khi cài đặt, chúng ta phải thiết lập vị trí để dữ liệu Gitlab và cấu hình có thể truy cập thông qua Docker volume.Tạo Docker volume thư mục.
Mã:
mkdir -p /opt/gitlab/vol
Mã:
cd /opt/gitlab
Mã:
nano .env
$GITLAB_HOME
biến.
Mã:
GITLAB_HOME=/opt/gitlab/vol
Vị trí cục bộ | Vị trí container | Cách sử dụng |
---|---|---|
$GITLAB_HOME/data | /var/opt/gitlab | Để lưu trữ dữ liệu ứng dụng. |
$GITLAB_HOME/logs | /var/log/gitlab | Để lưu trữ nhật ký. |
$GITLAB_HOME/config | /etc/gitlab | Để lưu trữ cấu hình Gitlab. |
Bước 5 - Cài đặt Gitlab bằng Docker Compose
Đảm bảo bạn đang ở trong thư mục Docker compose của Gitlab.Tạo và mở tệp cấu hình Docker compose để chỉnh sửa.
Mã:
nano docker-compose.yml
Mã:
version: '3.6'
services: web: image: 'gitlab/gitlab-ee:latest' container_name: 'gitlab-howtoforge' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitlab.example.com' gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "email-smtp.us-west-2.amazonaws.com" gitlab_rails['smtp_user_name'] = "SESUsername" gitlab_rails['smtp_password'] = "SESKey" gitlab_rails['smtp_domain'] = "example.com" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_authentication'] = "login" gitlab_rails['gitlab_email_from'] = '[emailprotected]' gitlab_rails['gitlab_email_reply_to'] = '[emailprotected]' # Add any other gitlab.rb configuration here, each on its own line ports: - '80:80' - '443:443' - '22:22' - '587:587' volumes: - '$GITLAB_HOME/config:/etc/gitlab' - '$GITLAB_HOME/logs:/var/log/gitlab' - '$GITLAB_HOME/data:/var/opt/gitlab' shm_size: '256m'
- image đề cập đến vị trí của hình ảnh Docker của Gitlab trên Dockerhub.
- container_name cho phép bạn áp dụng nhãn cho vùng chứa docker của mình, để sử dụng khi tham chiếu đến vùng chứa trong mạng Docker.
- restart chỉ định chính sách khởi động lại cho vùng chứa. Đặt thành luôn luôn có nghĩa là nếu thoát khỏi vùng chứa, vùng chứa sẽ tự động được khởi động lại.
- hostname định nghĩa tên máy chủ nội bộ của vùng chứa hoặc trong trường hợp này, là URL nơi Gitlab của bạn sẽ được cài đặt.
- environment cung cấp biến GITLAB_OMNIBUS_CONFIG cho phép bạn nhập bất kỳ cài đặt cấu hình Gitlab nào.
- external_url đề cập đến miền nơi Gitlab của bạn sẽ được cài đặt. Sử dụng giao thức
https
đảm bảo cài đặt tự động chứng chỉ SSL Let's Encrypt. - Chi tiết SMTP - chúng tôi đã bao gồm chi tiết SMTP để phiên bản Gitlab có thể gửi email và thông báo quan trọng. Đối với hướng dẫn của chúng tôi, chúng tôi đang sử dụng dịch vụ SES của Amazon. Tuy nhiên, bạn có thể sử dụng bất kỳ dịch vụ nào bạn chọn. Kiểm tra tài liệu Gitlab về trình gửi thư SMTPđể tìm hiểu cách cấu hình chúng.
- cổng yêu cầu container xuất bản các cổng hoặc một phạm vi cổng tới máy chủ. Vì Gitlab cần các cổng 22(SSH), 80(HTTP), 443(HTTPS) và 587(SMTP), nên chúng đã được đưa vào hệ thống. Nếu bạn muốn Gitlab sử dụng một cổng không chuẩn trên máy chủ của mình (có thể là do nó không khả dụng), trước tiên bạn sẽ cung cấp cổng máy chủ và sau đó là cổng container. Ví dụ, vì máy chủ của bạn đã sử dụng cổng SSH(22), bạn có thể yêu cầu Gitlab sử dụng SSH qua một cổng khác, chẳng hạn như 3333. Sau đó, bạn sẽ thay đổi 22:22 trong tệp trên thành 3333:22. Bạn cũng sẽ cần thêm dòng
gitlab_rails['gitlab_shell_ssh_port'] = 3333
vào GITLAB_OMNIBUS_CONFIG ở trên. - volume định nghĩa các thư mục có trên máy chủ để lưu trữ dữ liệu liên tục. Theo định nghĩa ở bước 5,
$GITLAB_HOME
hiện có thể được sử dụng trong tệp compose để gắn các thư mục có liên quan vào vùng chứa. - shm_size đề cập đến bộ nhớ dùng chung được vùng chứa sử dụng. Theo mặc định, Docker phân bổ 64MB cho thư mục bộ nhớ dùng chung (được gắn tại
/dev/shm
). Điều này có thể chứng minh là không đủ cho các số liệu Prometheus mà vùng chứa Gitlab tạo ra. Do đó, tối thiểu 256MB bộ nhớ dùng chung đảm bảo docker chạy trơn tru. Bạn có thể tăng giá trị của nó tùy thuộc vào RAM mà hệ thống của bạn có. Ngoài ra, bạn có thể vô hiệu hóa số liệu Prometheus từ khu vực quản trị sau khi cài đặt. Chúng ta sẽ khám phá điều này trong bước tiếp theo.
Mã:
docker compose up -d
Mã:
docker logs gitlab-howtoforge -f
Bạn có thể kiểm tra trạng thái của vùng chứa Gitlab bằng lệnh sau.
Mã:
docker ps
initiall_root_password
. Tệp này có thể được tìm thấy trong thư mục /srv/gitlab/config
. Chạy lệnh sau để xem mật khẩu gốc.
Mã:
cat /opt/gitlab/vol/config/initial_root_password
Mã:
# 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 first time (usually, the first reconfigure run).
# 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: Hz3t7Etn18wB6VAfBWyDlYbN2VQdMCO0xIIENfDHcFo=
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
Bước 6 - Cấu hình Gitlab
Truy cập Gitlab
Mở URLhttps://gitlab.example.com
trong trình duyệt của bạn và bạn sẽ nhận được màn hình đăng nhập sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22403%22%3E%3C/svg%3E
Nhập
root
làm tên người dùng và mật khẩu mà bạn đã lấy ở bước trước để đăng nhập vào bảng điều khiển Gitlab của mình. Khi đăng nhập, bạn sẽ được đưa đến màn hình bảng điều khiển sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22290%22%3E%3C/svg%3E
Như bạn thấy, Gitlab đã tạo một dự án để giám sát phiên bản.
Hạn chế đăng ký công khai
Theo mặc định, bất kỳ ai cũng có thể tạo tài khoản và có quyền truy cập. Nếu không muốn, bạn có thể tắt tính năng này. May mắn thay, cài đặt cho tính năng này được hiển thị dưới dạng màn hình bật lên trên bảng điều khiển. Nhấp vào nút Tắt để hạn chế đăng ký công khai trên phiên bản Gitlab của bạn. Làm như vậy sẽ chuyển hướng bạn đến trang cài đặt sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E
Bỏ chọn tùy chọn Cho phép đăng ký để hạn chế họ. Nhấn nút Lưu thay đổi để áp dụng cài đặt.
Trong trường hợp bạn không thấy cửa sổ bật lên trong bảng điều khiển, bạn có thể truy cập trang cài đặt bằng cách nhấp vào nút Menu và truy cập bảng điều khiển Quản trị từ đó.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22619%22%20height=%22588%22%3E%3C/svg%3E
Khi đã vào bảng điều khiển quản trị, hãy di chuột qua tùy chọn Cài đặt ở thanh bên trái và nhấp vào menu phụ Chung. Từ đó, bạn có thể truy cập bảng Hạn chế đăng ký.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22445%22%20height=%22723%22%3E%3C/svg%3E
Cấu hình Hồ sơ Gitlab
Hồ sơ mặc định của bạn để trống và không có thông tin gì hiển thị. Để thay đổi điều đó, hãy nhấp vào biểu tượng người dùng ở góc trên bên trái để mở menu thả xuống và chọn tùy chọn Chỉnh sửa hồ sơ.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22310%22%20height=%22278%22%3E%3C/svg%3E
Bạn sẽ được đưa đến trang Cài đặt hồ sơ, tại đó bạn có thể thêm tên, email và các thông tin khác về bản thân. Nhấp vào Cập nhật cài đặt hồ sơ khi bạn hoàn tất. Đừng quay lại trang chủ vì chúng ta còn một số thứ cần cấu hình ở đây.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22665%22%3E%3C/svg%3E
Đổi mật khẩu gốc
Đây là một trong những bước quan trọng nhất. Bạn nên thay đổi mật khẩu gốc mặc định ngay lập tức. Với các phiên bản trước, Gitlab yêu cầu bạn phải thay đổi mật khẩu như một phần của quá trình cài đặt nhưng giờ đây, Gitlab đã biến nó thành tùy chọn. Để thay đổi mật khẩu, hãy nhấp vào menu Mật khẩu từ thanh bên trái.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22326%22%3E%3C/svg%3E
Nhập thông tin chi tiết về mật khẩu của bạn và nhấp vào Lưu mật khẩu để thực hiện thay đổi. Bạn sẽ bị đăng xuất khỏi phiên bản của mình và phải đăng nhập lại.
Đổi tên người dùng
Bạn có thể thay đổi tên người dùng Gitlab mặc định của mình từroot
thành bất kỳ tên nào bạn chọn. Để thực hiện điều đó, hãy nhấp vào menu Tài khoản từ thanh bên trái.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22338%22%3E%3C/svg%3E
Khi đã vào trang, hãy nhập tên người dùng mới của bạn và nhấp vào nút Cập nhật tên người dùng để thực hiện thay đổi. Bạn sẽ được nhắc xác nhận lần nữa. Nhấn nút Cập nhật tên người dùng một lần nữa để xác nhận thay đổi.
Bạn cũng nên bật xác thực hai yếu tố tại đây để cải thiện bảo mật tài khoản của mình.
Tắt Prometheus Metrics và cải thiện Quyền riêng tư
Ở bước trước, chúng tôi đã thảo luận về việc tăng kích thước bộ nhớ dùng chung cho droplet và giữ ở mức tối thiểu là 256 MB. Điều này chủ yếu cần thiết để lưu trữ dữ liệu liên quan đến số liệu Prometheus trên đĩa. Nếu bạn không sử dụng tính năng này, bạn nên tắt tính năng này. Bạn chỉ có thể thực hiện sau khi cài đặt. Để tắt, hãy mở Bảng điều khiển quản trị từ thanh menu.Khi đã vào trong Bảng điều khiển quản trị, hãy mở Cài đặt >> Tùy chọn menu Số liệu và hồ sơ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22440%22%20height=%22388%22%3E%3C/svg%3E
Mở rộng phần Số liệu - Prometheus trên trang Số liệu và bỏ chọn tùy chọn Bật điểm cuối số liệu về tình trạng và hiệu suất. Nhấp vào nút Lưu thay đổi để thực hiện thay đổi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22254%22%3E%3C/svg%3E
Gitlab cũng thu thập thông tin sử dụng từ mọi cài đặt. Nếu bạn coi trọng quyền riêng tư và không muốn điều đó xảy ra, hãy mở rộng tùy chọn Thống kê sử dụng trên cùng một trang và Bỏ chọn tùy chọn Bật dịch vụ Ping. Nhấp vào nút Lưu thay đổi để thực hiện thay đổi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22367%22%3E%3C/svg%3E
Bước 7 - Tạo Dự án đầu tiên của bạn
Chúng ta hãy thử tạo dự án đầu tiên và đẩy một cam kết.Thêm Khóa SSH của bạn
Trước khi tiến hành thêm, chúng ta nên thêm khóa SSH của mình. Điều này cho phép chúng ta tương tác với cài đặt của mình mà không cần sử dụng bất kỳ mật khẩu nào. Nếu bạn có khóa SSH, bạn có thể bỏ qua lệnh sau. Nếu bạn không có, bạn có thể tạo một khóa bằng lệnh sau.
Mã:
$ ssh-keygen -t ed25519 -C "gitlab.example.com"
Mã:
Generating public/private rsa key pair.
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\/.ssh/id_ed25519):
Enter same passphrase again:
Your identification has been saved in C:\Users\/.ssh/id_ed25519.
Your public key has been saved in C:\Users\/.ssh/id_ed25519.pub.
SHA256:CI3Ja1LSTN+j4LQnDYkAoP+DvZB8SWrD26zDyUBRbUY gitlab.example.com
+--[ED25519 256]--+
|* ..+E |
|. + / o o |
| o = B o . |
|. o B = S |
|.o X + |
| +X.* |
| .=B o |
+----[SHA256]-----+
Mã:
$ eval $(ssh-agent -s)
Mã:
$ ssh-add C:\Users\/.ssh/id_ed25519
Mã:
$ ssh-add ~/.ssh/id_ed25519
Tiếp theo, chúng ta cần lưu các thiết lập này vào tệp
~/.ssh/config
. Trên Windows, đây sẽ là thư mục C:\Users\\.ssh
. Dán đoạn mã sau vào cuối tệp.
Mã:
Host gitlab.example.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_ed25519
Tiếp theo, chúng ta cần sao chép khóa công khai vào tài khoản Gitlab của mình. Bạn có thể hiển thị khóa công khai của mình thông qua lệnh sau. Tên đường dẫn sẽ lại hoạt động trên tất cả các hệ điều hành tại đây.
Mã:
$ cat ~/.ssh/id_ed25519.pub
Mã:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAml2KPhmGkdMWv7jksLKO13u3g1zI9CumKDQSpv7lYh gitlab.example.com
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22259%22%20height=%22557%22%3E%3C/svg%3E
Dán khóa SSH vào hộp được cung cấp và nhấp vào Thêm khóa để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22430%22%3E%3C/svg%3E
Tiếp theo, chúng ta cần kiểm tra xem kết nối SSH của mình có hoạt động thành công không. Chạy lệnh sau trên thiết bị đầu cuối PC của bạn.
Mã:
$ ssh -T [emailprotected]
Mã:
The authenticity of host 'gitlab.example.com (192.0.2.0)' can't be established.
ECDSA key fingerprint is SHA256:g5mOqAY2A3lhXW0flnLGdSU7RrDnbRFKVJCquAhLXqk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitlab.example.com' (ECDSA) to the list of known hosts.
Warning: the ECDSA host key for 'gitlab.example.com' differs from the key for the IP address '192.0.2.0'
Are you sure you want to continue connecting (yes/no)? yes
Offending key for IP in C:\Users\navjo/.ssh/known_hosts:7
Welcome to GitLab, @navjot!
Tạo dự án
Mỗi kho lưu trữ trong Gitlab thuộc về một dự án. Một dự án bao gồm một kho lưu trữ, trình theo dõi sự cố, yêu cầu hợp nhất, wiki, đường ống tích hợp liên tục và phân phối liên tục (CI/CD) và nhiều tính năng khác.Để tạo kho lưu trữ đầu tiên của bạn, hãy nhấp vào nút Dự án mới trên trang chủ của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22383%22%20height=%22369%22%3E%3C/svg%3E
Bạn sẽ được đưa đến trang Dự án mới, tại đó bạn sẽ được cung cấp nhiều tùy chọn về cách tạo dự án mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Chọn tùy chọn Create blank project để tiếp tục. Ở trang tiếp theo, nhập tên dự án. Chọn tên người dùng của bạn từ menu thả xuống trong tùy chọn Project URL. Đặt slug cho dự án của bạn. Nhập mô tả về dự án nếu bạn thích và thay đổi khả năng hiển thị của dự án theo nhu cầu của bạn. Bạn có thể Khởi tạo kho lưu trữ của mình bằng tệp
README
.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22433%22%3E%3C/svg%3E
Sau khi hoàn tất, hãy nhấp vào Tạo dự án. Bạn sẽ được đưa đến trang kho lưu trữ của mình với chỉ một tệp
README.md
trống.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22685%22%3E%3C/svg%3E
Bây giờ kho lưu trữ của chúng ta đã hoạt động, hãy thử thêm nhật ký thay đổi từ dòng lệnh. Nhập các lệnh sau trên máy tính của bạn để tạo tệp
CHANGELOG
và đẩy tệp đó trở lại kho lưu trữ của bạn. Đảm bảo rằng bạn đã cài đặt Git trên máy tính của mình.Bước đầu tiên là sao chép kho lưu trữ. Bạn có thể sao chép bằng SSH hoặc HTTPS. Sao chép bằng SSH. Bạn sẽ được yêu cầu nhập mật khẩu.
Mã:
$ git clone [emailprotected]:user/howtoforge-test.git
CHANGELOG
.
Mã:
$ cd howtoforge-test
$ touch CHANGELOG # Or create the file in your editor and enter a project description
$ git add CHANGELOG
$ git commit -m "add Changelog"
$ git push -u origin main
Quay lại trang dự án Gitlab của bạn và bạn sẽ thấy tệp
CHANGELOG
trong đó. Xin chúc mừng! Bạn đã tạo thành công dự án đầu tiên và đã cam kết một tệp vào đó.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22412%22%3E%3C/svg%3E
Bước 8 - Quản lý vùng chứa Gitlab
Chúng ta hãy xem cách bạn có thể quản lý vùng chứa Gitlab bằng các lệnh đơn giản.Nếu tại bất kỳ thời điểm nào bạn muốn dừng vùng chứa, hãy đưa ra lệnh sau từ bên trong Docker compose thư mục.
Mã:
$ docker compose down
Mã:
$ docker compose up -d
docker-compose.yml
trong biến GITLAB_OMNIBUS_CONFIG. Sau khi thực hiện thay đổi, bạn sẽ cần khởi động lại container để triển khai thay đổi. Phát hành các lệnh sau để cập nhật container bằng cấu hình mới.
Mã:
$ docker compose down --remove-orphans
$ docker compose up -d
Mã:
$ docker compose restart
Mã:
$ docker exec -it bash
Bước 9 - Sao lưu Gitlab
Có thể sao lưu Gitlab thông qua một lệnh.
Mã:
$ docker exec -t gitlab-howtoforge gitlab-backup create
/srv/gitlab/data/backups
. Bản sao lưu này không chứa tệp cấu hình gitlab-secrets.json
của bạn. Tệp này nằm trong thư mục /srv/gitlab/config
. Do đó, bạn cần sao lưu tệp này riêng. Có một tệp cấu hình khác, gitlab.rb
, chứa tất cả các thiết lập cho phiên bản Gitlab. Nhưng trong trường hợp của chúng tôi, chúng tôi đã sử dụng biến GITLAB_OMNIBUS_CONFIG trong tệp compose của mình, do đó tệp này không được Gitlab sử dụng. Để thực hiện bất kỳ thay đổi nào đối với Gitlab, bạn sẽ cần phải định nghĩa chúng thông qua biến. Do đó, bạn cũng sẽ cần phải sao lưu tệp compose.Bạn có thể tạo một mục cron để sao lưu cài đặt Gitlab của mình thường xuyên.
Bước 10 - Khôi phục Gitlab
Để khôi phục Gitlab, bạn phải có cài đặt Gitlab đang hoạt động trên một hệ thống khác. Bạn cũng sẽ cần sao chép thư mục cấu hình của mình và ghi đè lên cấu hình cài đặt hiện có.Khôi phục Gitlab yêu cầu chạy một số lệnh. Trước tiên, bạn cần dừng các quy trình được kết nối với cơ sở dữ liệu.
Mã:
$ docker exec -it gitlab-ctl stop puma
$ docker exec -it gitlab-ctl stop sidekiq
bằng tên của vùng chứa trên máy chủ mới của bạn.Xác minh rằng các quy trình đã ngừng hoạt động trước tiếp tục.
Mã:
$ docker exec -it gitlab-ctl status
/srv/gitlab/data/backups
. Tạo thư mục nếu thư mục không tồn tại.Chạy lệnh khôi phục. Bạn cần xóa phần
_gitlab_backup.tar
của tên tệp khỏi lệnh.
Mã:
$ docker exec -it gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce
gitlab-secrets.json
và ghi đè lên bản sao hiện có trong thư mục /srv/gitlab/config
của máy chủ mới. Ngoài ra, hãy sao chép tất cả các thiết lập Gitlab từ tệp compose đã sao lưu vào tệp trên vùng chứa mới hơn.Khởi động lại vùng chứa Gitlab. Chúng ta không thể sử dụng lệnh
docker compose restart
trực tiếp vì nó sẽ không chọn bất kỳ thay đổi nào được thực hiện đối với tệp soạn thảo mà chúng ta cần.
Mã:
$ docker compose down --remove-orphans
$ docker compose up -d
Mã:
$ docker exec -it gitlab-rake gitlab:check SANITIZE=true
Bước 11 - Nâng cấp Gitlab
Để nâng cấp Gitlab, bước đầu tiên là sao lưu như được hiển thị ở điểm dừng trước đó.Tiếp theo, chuyển đến thư mục Docker compose của Gitlab.
Mã:
$ cd ~/gitlab-docker
Mã:
$ docker compose down --remove-orphans
Mã:
$ docker compose pull
Mã:
$ docker compose up -d