Gitlab Server là phiên bản mã nguồn mở của cloud-hosted Gitlab. Ư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à toàn quyền kiểm soát mã của bạn.
Hướng dẫn này sẽ hướng dẫn bạn cách cài đặt Gitlab Server bằng Docker trên máy chủ Ubuntu 22.04. Gitlab Server cung cấp hai phiên bản – phiên bản Community miễn phí và phiên bản Enterprise trả phí. Chúng tôi sẽ cài đặt phiên bản Community. Nếu bạn muốn có nhiều tính năng hơn, bạn có thể dễ dàng nâng cấp lên phiên bản Enterprise.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.04.
- Người dùng không phải root có quyền sudo.
- Tường lửa đơn giản (UFW) đã được bật và đang chạy.
- Tên miền đủ điều kiện (FQDN) trỏ đến máy chủ như
gitlab.example.com. - Mọi thứ đã được cập nhật.$ sudo apt update && sudo apt upgrade
Bước 1 – Cấu hình Tường lửa
Bước đầu tiên trước khi cài đặt bất kỳ gói nào là cấu hình tường lửa để cho phép kết nối HTTP và HTTPS.
Kiểm tra trạng thái của tường lửa.
$ sudo ufw status
Bạn sẽ thấy nội dung tương tự như sau.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Cho phép các cổng HTTP và HTTPs.
$ sudo ufw allow http
$ sudo ufw allow https
Mở cổng 587 để nhận thư qua SMTP. Bạn có thể đang sử dụng một cổng khác với trình gửi thư SMTP của mình.
$ sudo ufw allow http
$ sudo ufw allow 587
Kiểm tra lại trạng thái để xác nhận.
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443 ALLOW Anywhere
587 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
587 (v6) ALLOW Anywhere (v6)
Bước 2 – Cài đặt các phụ thuộc
Trước khi cài đặt Gitlab, chúng ta cần cài đặt một số gói nhất định sẽ cần thiết trong quá trình hướng dẫn.
$ sudo apt install ca-certificates curl openssh-server apt-transport-https gnupg lsb-release -y
Một số gói này có thể đã được cài đặt sẵn trên hệ thống của bạn.
Bước 3 – Thay đổi cổng SSH của hệ thống
Gitlab sử dụng cổng SSH mặc định sẽ xung đột với cổng SSH của hệ thống. Để có kết quả tốt nhất, tốt hơn là thay đổi cổng mặc định của hệ thống.
Để thực hiện việc này, hãy mở /etc/ssh/sshd_config tệp để chỉnh sửa.
$ sudo nano /etc/ssh/sshd_config
Tìm dòng sau, xóa dấu thăng (#) ở phía trước và thay đổ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
#Port 22
ĐẾN
Port 2425
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 dịch vụ SSH.
$ sudo systemctl restart sshd
Mở cổng 2425 trong tường lửa.
$ sudo ufw allow 2425
Đóng phiên SSH hiện tại và đăng nhập lại bằng cổng mới.
$ ssh username@<serverIP> -p 2425
Bước 4 – Cài đặt Docker và Docker Compose
Thêm khóa GPG chính thức của Docker.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
Chạy lệnh sau để thêm kho lưu trữ Docker.
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Cập nhật hệ thống để bao gồm kho lưu trữ của Docker.
$ sudo apt update
Cài đặt Docker.
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Hướng dẫn này sẽ sử dụng plugin Docker Compose v2 thay vì binary legacy cũ hơn. Do đó, lệnh để chạy nó đã thay đổi từ docker-compose thành docker compose và điều này được phản ánh ở đây.
Docker chạy với quyền nâng cao nên bạn sẽ cần sử dụng sudo thường xuyên để chạy lệnh. Tùy chọn tốt hơn là thêm tài khoản người dùng Linux của bạn vào docker nhóm người dùng.
$ sudo usermod -aG docker ${USER}
Biến này ${USER} 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ủ và đă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.
$ su - $(USER)
Bước 5 – Thiết lập Docker Volumes
Trước khi tiến hành cài đặt, chúng ta cần thiết lập vị trí để truy cập dữ liệu và cấu hình Gitlab thông qua ổ đĩa Docker.
Tạo thư mục ổ đĩa Docker.
$ sudo mkdir /srv/gitlab -p
Tạo một thư mục cho tệp Docker compose.
$ mkdir ~/gitlab-docker
Chuyển sang thư mục.
$ cd ~/gitlab-docker
Tạo một tệp biến môi trường và mở nó để chỉnh sửa.
$ nano .env
Dán đoạn mã sau để định nghĩa $GITLAB_HOME biến.
GITLAB_HOME=/srv/gitlab
Bộ chứa Gitlab sử dụng các ổ đĩa 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 bộ chứa và cách sử dụng tương ứng của chúng.
| Vị trí địa phương | Vị trí Container | Cách sử dụng |
|---|---|---|
| $GITLAB_HOME/dữ liệu | /var/opt/gitlab | Để lưu trữ dữ liệu ứng dụng. |
| $GITLAB_HOME/nhật ký | /var/log/gitlab | Để lưu trữ nhật ký. |
| $GITLAB_HOME/cấu hình | /etc/gitlab | Để lưu trữ cấu hình Gitlab. |
Bước 6 – Cài đặt Gitlab bằng Docker Compose
Đảm bảo rằng 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.
$ nano docker-compose.yml
Dán đoạn mã sau vào đó.
version: '3.6'
services:
web:
image: 'gitlab/gitlab-ee:latest'
container_name: 'gitlab-congdonglinux'
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'] = '[email protected]'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
# 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'
Chúng ta hãy xem xét tất cả các tùy chọn được xác định trong tệp.
- hình ảnh đề 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 container. Đặt thành luôn có nghĩa là container nếu thoát sẽ tự động được khởi động lại.
- hostname xác định 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.
- môi trường cung cấp biến GITLAB_OMNIBUS_CONFIG cho phép bạn nhập bất kỳ thiết lập cấu hình Gitlab nào.
- external_url là tên miền nơi Gitlab của bạn sẽ được cài đặt. Sử dụng
httpsgiao thức đả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 dành cho trình gửi thư SMTP để tìm hiểu cách cấu hình chúng.
- ports bảo container xuất bản các cổng hoặc một loạt các 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 ra 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à vì nó không khả dụng), trước tiên bạn sẽ cung cấp cổng máy chủ rồi mới đến cổng container. Ví dụ, vì máy chủ của bạn đã sử dụng cổng SSH(22), bạn có thể bảo 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'] = 3333dưới GITLAB_OMNIBUS_CONFIG ở trên. - volume xác định các thư mục có trên máy chủ để lưu trữ dữ liệu liên tục. Như đã xác định ở bước 5,
$GITLAB_HOMEgiờ đây có thể được sử dụng trong tệp compose để gắn các thư mục có liên quan vào container. - shm_size đề cập đến bộ nhớ dùng chung được container 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à container Gitlab tạo ra. Do đó, bộ nhớ dùng chung tối thiểu là 256MB đả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ể tắt số liệu Prometheus khỏi 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.
Khởi động vùng chứa Gitlab Docker.
$ docker compose up -d
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.
$ docker logs gitlab-congdonglinux -f
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 container Gitlab bằng lệnh sau.
$ docker ps
Bắt đầu từ Gitlab 14.0, nó tự động tạo mật khẩu gốc và lưu trữ trong initiall_root_password tệp. Tệp này có thể được tìm thấy trong /srv/gitlab/config thư mục. Chạy lệnh sau để xem mật khẩu gốc.
$ sudo cat /srv/gitlab/config/initial_root_password
Bạn sẽ nhận được kết quả tương tự.
# 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.
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.
Bước 7 – Cấu hình Gitlab
Truy cập Gitlab
Mở URL https://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.

Nhập root tên người dùng và mật khẩu bạn đã lấy ở bước trước để đăng nhập vào bảng điều khiển Gitlab của bạn. Khi đăng nhập, bạn sẽ được đưa đến màn hình bảng điều khiển sau.

Như bạn có thể thấy, Gitlab đã tạo một dự án để theo dõi phiên bản này.
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 bạn không muốn, bạn có thể tắt nó đi. May mắn thay, cài đặt cho nó đượ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.

Bỏ chọn tùy chọn Đăng ký được bật để hạn chế chúng. 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 trên 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 quản trị từ đó.

Khi đã vào bảng 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ể đến bảng Hạn chế đăng ký .

Cấu hình hồ sơ Gitlab
Hồ sơ mặc định của bạn khá nhạt nhẽo và không có 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ơ .

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 tôi còn một số thứ khác cần cấu hình ở đây.

Thay đổ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 root 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 nó đã trở 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.

Nhập thông tin 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ẽ được đăng xuất khỏi phiên bản của mình và sẽ phải đăng nhập lại.
Thay đổ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 bất kỳ tên nào bạn chọn. Để thực hiện việc đó, hãy nhấp vào menu Tài khoản từ thanh bên trái.

Khi vào trang, 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 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 tính 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 ta đã 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. Chủ yếu là để lưu trữ dữ liệu liên quan đến số liệu của 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 tính năng này, hãy mở Bảng quản trị từ thanh menu.
Khi vào bảng Quản trị, hãy mở tùy chọn menu Cài đặt >> Số liệu và hồ sơ .

Trên trang Metrics, hãy mở rộng phần Metrics – Prometheus và bỏ chọn tùy chọn Enable health and performance metrics endpoint . Nhấp vào nút Save changes để thực hiện thay đổi.

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.

Bước 8 – 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 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. Đ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.
$ ssh-keygen -t ed25519 -C "gitlab.example.com"
Lệnh này phổ biến trên macOS, Linux và Git Bash/WSL trên Windows. Chấp nhận 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.
Generating public/private rsa key pair.
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\<username>/.ssh/id_ed25519):
Enter same passphrase again:
Your identification has been saved in C:\Users\<username>/.ssh/id_ed25519.
Your public key has been saved in C:\Users\<username>/.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]-----+
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ụ Tác nhân xác thực OpenSSH đ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.
$ eval $(ssh-agent -s)
Thêm khóa.
$ ssh-add C:\Users\<username>/.ssh/id_ed25519
Trên Linux và macOS, lệnh sẽ thay đổi thành
$ ssh-add ~/.ssh/id_ed25519
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 ~/.ssh/config tệp. Trên Windows, đây sẽ là thư C:\Users\<username>\.ssh mục. Dán mã sau vào cuối tệp.
Host gitlab.example.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519
Trong tệp này, tên đường dẫn sẽ giữ nguyên trên mọi 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 ở đây.
$ cat ~/.ssh/id_ed25519.pub
Bạn sẽ nhận được kết quả tương tự.
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAml2KPhmGkdMWv7jksLKO13u3g1zI9CumKDQSpv7lYh gitlab.example.com
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.

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.

Tiếp theo, chúng ta cần kiểm tra xem kết nối SSH của chúng ta 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.
$ ssh -T [email protected]
Bạn sẽ nhận được kết quả tương tự. Đầu 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ẽ lại được hỏ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.
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!
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 một 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, hãy nhấp vào nút Dự án mới trên trang chủ của bạn.

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 một dự án mới.

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 một README tệp.

Khi bạn 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 chỉ với một README.md tệp trống.

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.
$ git clone [email protected]:user/congdonglinux-test.git
Nhập phần lệnh còn lại để tạo và đẩy CHANGELOG tệp.
$ cd congdonglinux-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
Bạn sẽ được nhắc nhập mật khẩu một lần nữa trong khi thực hiện lệnh đẩy.
Quay lại trang dự án Gitlab của bạn và bạn sẽ thấy CHANGELOG tệp trong đó. Xin chúc mừng! Bạn đã tạo thành công dự án đầu tiên và đã cam kết tệp vào đó.

Bước 9 – Quản lý Gitlab Container
Hãy cùng 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 container, hãy đưa ra lệnh sau từ bên trong thư mục Docker compose.
$ docker compose down
Để khởi động lại, hãy nhập lệnh sau.
$ docker compose up -d
Nếu bạn muốn thay đổi bất kỳ thiết lập nào hoặc thêm thiết lập 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 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 với cấu hình mới.
$ docker compose down --remove-orphans
$ docker compose up -d
Để khởi động lại container, hãy đưa ra lệnh sau. Tuy nhiên, lệnh khởi động lại sau không nhận bất kỳ thay đổi nào được thực hiện đối với tệp Docker compose.
$ docker compose restart
Truy cập vào vỏ container.
$ docker exec -it <container name> bash
Bước 10 – Sao lưu Gitlab
Việc sao lưu Gitlab có thể được thực hiện thông qua một lệnh duy nhất.
$ docker exec -t gitlab-congdonglinux gitlab-backup create
Tệp sao lưu được lưu trong /srv/gitlab/data/backups thư mục. Bản sao lưu này không chứa gitlab-secrets.json tệp cấu hình của bạn. Tệp này nằm trong /srv/gitlab/config thư mục. 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 soạn thảo 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 soạn thảo.
Bạn có thể tạo mục cron để sao lưu cài đặt Gitlab của mình thường xuyên.
Bước 11 – Khôi phục Gitlab
Để khôi phục Gitlab, bạn phải có một bản 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 tiến trình được kết nối với cơ sở dữ liệu.
$ docker exec -it <name of container> gitlab-ctl stop puma
$ docker exec -it <name of container> gitlab-ctl stop sidekiq
Thay thế <name of container> 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 khi tiếp tục.
$ docker exec -it <name of container> gitlab-ctl status
Sao chép tệp sao lưu vào /srv/gitlab/data/backups thư mục. Tạo thư mục nếu thư mục chưa tồn tại.
Chạy lệnh khôi phục. Bạn cần xóa phần _gitlab_backup.tar tên tệp khỏi lệnh.
$ docker exec -it <name of container> gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce
Sao chép gitlab-secrets.json tệp và ghi đè lên bản sao hiện có trong thư /srv/gitlab/config mục của máy chủ mới. Ngoài ra, 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 docker compose restart lệnh 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.
$ docker compose down --remove-orphans
$ docker compose up -d
Kiểm tra Gitlab.
$ docker exec -it <name of container> gitlab-rake gitlab:check SANITIZE=true
Bước 12 – Nâng cấp Gitlab
Để nâng cấp Gitlab, bước đầu tiên là sao lưu như hướng dẫn ở mục trước.
Tiếp theo, chuyển sang thư mục Docker compose của Gitlab.
$ cd ~/gitlab-docker
Tiếp theo, dừng lại và xóa vùng chứa hiện tại. Tuy nhiên, dữ liệu của bạn sẽ được giữ lại.
$ docker compose down --remove-orphans
Tải phiên bản mới nhất của hình ảnh docker Gitlab.
$ docker compose pull
Bắt đầu lại các thùng chứa.
$ docker compose up -d
Quá trình này phù hợp để nâng cấp giữa các phiên bản Gitlab nhỏ nhưng khi bạn nâng cấp lên phiên bản lớn, bạn sẽ cần 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.
Phần kết luận
Như vậy là kết thúc bài hướng dẫn của chúng tôi, trong đó bạn đã học cách cài đặt Gitlab bằng Docker trên máy chủ Ubuntu 22.04. Bạn cũng đã tạo dự án đầu tiên của mình và cam kết một tệp vào đó từ PC của mình. Nếu bạn có bất kỳ câu hỏi nào, hãy đăng chúng trong phần bình luận bên dưới.
Đọc thêm:
- forum.congdonglinux.com
- ArgoCD Là Gì? Tăng Tốc Quá Trình Phát Triển Phần mềm Của Bạn Ngay hôm nay Nay!










Add Comment