Gitlab là gì? Cài đặt Gitlab sử dụng Docker


Gitlab là gì? Cài đặt Gitlab sử dụng Docker

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_urlhostname 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.

Author Photo

Tác giả: MokaDEV

Cố gắng chưa chắc đã thành công nhưng không cố gắng chắc chắn sẽ thất bại.