Gitlab là gì? Cài đặt Gitlab sử dụng Docker
- MokaDEV
- 08/03/2024
Trong thế giới phần mềm, quản lý mã nguồn là một phần quan trọng của quy trình phát triển phần mềm hiện đại. GitLab, một trong những hệ thống quản lý mã nguồn hàng đầu, không chỉ giúp tổ chức lưu trữ mã nguồn một cách hiệu quả mà còn cung cấp nhiều tính năng hữu ích khác. Trong bài viết này, MokaDEV giới về GitLab là gì và cách cài đặt GitLab một cách đơn giản.
GitLab là gì?
GitLab là một hệ thống quản lý mã nguồn mở được xây dựng trên nền tảng Git. Được phát triển bởi GitLab Inc., nó cung cấp một giải pháp toàn diện cho việc quản lý mã nguồn, theo dõi vấn đề, xây dựng tự động, và nhiều tính năng khác, tạo điều kiện thuận lợi cho quy trình phát triển phần mềm.
Tại sao sử dụng GitLab?
1. Quản lý mã nguồn hiệu quả: GitLab giúp tổ chức lưu trữ mã nguồn một cách có tổ chức và dễ quản lý.
2. Hệ thống theo dõi vấn đề tích hợp: Theo dõi vấn đề và yêu cầu tính năng trực tiếp trong GitLab, giúp đội ngũ phát triển làm việc hiệu quả hơn.
3. Xây dựng tự động: Tích hợp tính năng xây dựng tự động giúp kiểm thử và triển khai nhanh chóng.
4. Quản lý pipeline: Giám sát quy trình triển khai thông qua GitLab CI/CD, giúp kiểm soát và theo dõi hiệu suất.
Hướng dẫn cài đặt GitLab:
Bước 1: Cài đặt Docker
Đầu tiên, bạn cần cài đặt Docker trên máy chủ của mình. Để cài đặt Docker, bạn có thể tham khảo hướng dẫn trên blog MokaDEV: Docker là gì? Cài Docker thế nào?.
Bước 2: Tạo thư mục lưu trữ dữ liệu
Đầu tiên bạn trỏ về thư mục mà bạn muốn lưu trữ dữ liệu của GitLab. Ví dụ, bạn có thể tạo một thư mục mới tên là gitlab
trong thư mục ~/gitlab
:
mkdir -p ~/gitlab
Tiếp theo bạn cần tạo một lệnh export
để thiết lập biến môi trường cho GitLab:
export GITLAB_HOME=~/gitlab
Bước 3: Tạo và chạy container GitLab
Sau khi tạo thư mục lưu trữ dữ liệu, bạn di chuyển vào thư mục vừa tạo
cd $GITLAB_HOME
Tiếp theo, bạn cần tạo file docker-compose.yml
để cấu hình container GitLab:
version: '3.7'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.example.com'
container_name: gitlab-ce
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
gitlab_rails['gitlab_shell_ssh_port'] = 8022
ports:
- '80:80'
- '443:443'
- '8022:22'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
networks:
- gitlab
gitlab-runner:
image: gitlab/gitlab-runner:alpine
container_name: gitlab-runner
restart: always
depends_on:
- web
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- '$GITLAB_HOME/gitlab-runner:/etc/gitlab-runner'
networks:
- gitlab
networks:
gitlab:
name: gitlab-network
Chú ý rằng bạn cần thay đổi giá trị của external_url
và hostname
theo tên miền của bạn.
Nếu server bạn đang chạy firewall, bạn cần mở port 80, 443, và 8022:
CENTOS:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=8022/tcp
sudo firewall-cmd --reload
UBUNTU:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8022/tcp
Cuối cùng, bạn chạy lệnh sau để tạo và chạy container GitLab:
docker-compose up -d
Sau khi chạy lệnh trên, bạn có thể truy cập GitLab qua trình duyệt web bằng cách truy cập vào địa chỉ https://gitlab.example.com
.
Bước 4: Đăng nhập và cấu hình GitLab
Sau khi truy cập GitLab, bạn sẽ thấy màn hình đăng nhập. Đăng nhập với tài khoản mặc định là root
và chạy lệnh sau để lấy mật khẩu mặc định:
docker exec -it gitlab-ce cat /etc/gitlab/initial_root_password
Bước 5: Cài đặt SSL cho GitLab
Để cài đặt SSL cho GitLab bạn cần có key và certificate. Bạn có thể sử dụng Let’s Encrypt để lấy chúng. Sau khi có key và certificate, bạn cần đặt chúng vào thư mục config/ssl
ở trong thư mục $GITLAB_HOME
và restart container GitLab:
docker-compose restart
Vậy là bạn đã cài đặt GitLab thành công và sẵn sàng bắt đầu quản lý dự án phần mềm của mình, chúc bạn thành công!
Kết luận:
GitLab không chỉ là một hệ thống quản lý mã nguồn mạnh mẽ mà còn là một nền tảng tích hợp cho các phương tiện khác như theo dõi vấn đề và xây dựng tự động. Bằng cách cài đặt GitLab theo hướng dẫn trên, bạn đã sẵn sàng bắt đầu quản lý dự án phần mềm của mình một cách hiệu quả với một loạt các tính năng đặc biệt. Theo dõi blog MokaDEV để cập nhật thêm nhiều hướng dẫn hữu ích khác về Linux và DevOps.