GitLab là gì? Hướng dẫn cài đặt và sử dụng GitLab chi tiết cho người mới

Bạn muốn tìm hiểu về GitLab và cách cài đặt, sử dụng nó? Bài viết này sẽ cung cấp hướng dẫn chi tiết nhất về GitLab, từ khái niệm cơ bản đến các bước cài đặt và sử dụng trên Windows và Ubuntu.

GitLab là gì?

GitLab là một nền tảng DevOps mã nguồn mở dựa trên web, cung cấp trình quản lý Git repository với các tính năng như wiki, theo dõi sự cố và tích hợp liên tục (CI/CD). Nó cho phép quản lý phiên bản mã nguồn, triển khai pipeline và sử dụng license mã nguồn mở được phát triển bởi GitLab Inc.

Khi sử dụng GitLab, các cá nhân hoặc tổ chức có thể lưu trữ và quản lý kho code một cách dễ dàng, an toàn và truy cập nhanh chóng thông qua Internet. GitLab cung cấp dung lượng lưu trữ miễn phí cho người dùng, và có thể nâng cấp lên các gói dung lượng lớn hơn (có phí) khi cần.

Tham khảo thêm:

Lịch sử phát triển của GitLab

GitLab được tạo ra bởi hai nhà phát triển người Ukraina là Dmitriy ZaporozhetsValery Sizov. Ban đầu, nó là một phần mềm mã nguồn mở hoàn toàn miễn phí, được phân phối theo giấy phép MIT.

Code được viết bằng ngôn ngữ Ruby và Go với mục đích xây dựng một giải pháp quản lý code, giúp các thành viên trong nhóm có thể hợp tác để phát triển phần mềm. Sau này, GitLab phát triển thành một giải pháp tích hợp, bao gồm cả vòng đời phát triển phần mềm (SDLC) lẫn toàn bộ vòng đời DevOps. Công nghệ hiện tại bao gồm Go, Ruby on Rails.

GitLab tuân theo mô hình phát triển open-core. Chức năng core được phát hành theo license open-source MIT, trong khi các chức năng bổ sung tuân theo giấy phép độc quyền.

Website truy cập GitLab: sentayho.com.vn/

Đặc điểm của GitLab

Các phiên bản của GitLab

GitLab hỗ trợ 3 phiên bản chính:

  • GitLab Community Edition (CE): Phiên bản cộng đồng, cung cấp qua Git từ kho lưu trữ chứa GitLab.
  • GitLab Enterprise Edition (EE): Phiên bản dành cho doanh nghiệp, được phát hành sau phiên bản CE không lâu. Doanh nghiệp đăng ký GitLab sẽ nhận được sự hỗ trợ từ GitLab trong quá trình cài đặt và sử dụng.
  • GitLab Continuous Integration (CI): Được tích hợp bởi nhóm phát triển GitLab, hỗ trợ tích hợp và triển khai liên tục.

Protected Branches

Tính năng này cho phép kiểm soát quyền đọc và ghi vào repository và các branches. Protected branches cấp quyền cho người được phép commit và pushing code, với 3 đặc điểm cơ bản:

  • Ngăn chặn push từ mọi người trừ các user và master.
  • Ngăn chặn việc push code lên branch từ những người không có quyền truy cập.
  • Chặn những người thực hiện xóa branch.

Master branch mặc định là protected branch, user sẽ được cấp ít quyền hơn để đảm bảo tính bảo mật.

Tầng vật lý của GitLab

  • Kho lưu trữ: Nơi xử lý các dự án GitLab, các dự án có thể được lưu tại warehouse.
  • Nginx: Hoạt động như front-desk, người dùng đến Nginx và yêu cầu hành động thực hiện bởi worker.
  • GitLab-sell: Thực hiện nhiệm vụ tạo ra các đơn đặt hàng từ máy fax (SSH) thay vì front-desk.
  • GitLab Enterprise Edition: Tập hợp các quy trình và hoạt động kinh doanh được điều hành bởi office.

Thư mục home của người dùng Git là /home/git. Repositories bare trong đường dẫn /home/git/repositories. GitLab là một ứng dụng được viết bằng ngôn ngữ Ruby on Rails, vì vậy có thể tìm hiểu và hoạt động bên trong nó.

Tại sao nên sử dụng GitLab?

GitLab cho phép tự động hóa DevOps, từ đó có thể lên kế hoạch, thiết kế, tạo, build, xác minh, thử nghiệm, deploy và giám sát nhiều yếu tố khác nhau, bao gồm khả năng mở rộng, mức độ phổ biến, tính khả dụng và quá trình nhân bản.

GitLab ngày càng trở nên phổ biến nhờ các tính năng phong phú và số lượng code block có sẵn. Sự hợp tác của các code platform chính là trung tâm của GitLab, giúp dễ dàng tái sử dụng hoặc triển khai. GitLab bao gồm nhiều pipeline CI/CD, container registry cũng như tích hợp Kubernetes và khả năng di chuyển dữ liệu siêu việt. Khả năng giám sát và tích hợp dữ liệu cũng làm cho GitLab mạnh mẽ hơn so với các hệ thống khác.

Các dự án trên GitLab có thể được đặt ở chế độ public hoặc private. Nó cũng là một công cụ open-source để mọi người có thể tự do truy cập. Public repository của GitLab có thể được dùng cho wiki, tài liệu hay ứng dụng vào việc theo dõi sự cố. GitLab cũng cho phép các nhóm cộng tác và làm việc trên code được script bằng Go hay Ruby.

Mục đích sử dụng GitLab là lưu trữ thông tin và các mảng đối tượng cùng với các tham chiếu đến nó. GitLab hoạt động như một Hub trung tâm để các user và developer có thể tạo, lưu trữ, thử nghiệm, chia sẻ và cộng tác với nhau trên mọi dự án web.

Hướng dẫn sử dụng GitLab

Sau khi tìm hiểu về GitLab và lý do sử dụng GitLab, hãy tiếp tục với phần install GitLab. Bài viết này sẽ hướng dẫn install GitLab trên hai nền tảng là Windows và Ubuntu.

Cài đặt GitLab trên Windows

  1. Tạo một folder với tên ‘GitLab-Runner’ trên hệ thống. Ví dụ: C:GitLab-Runner.

  2. Tải file nhị phân cho x86 hoặc amd64 và copy vào folder vừa tạo. Đổi tên file binary thành sentayho.com.vn.

  3. Mở command prompt, điều hướng đến folder đã tạo và nhập lệnh:

    C:GitLab-Runner>sentayho.com.vn register
  4. Nhập URL của gitlab-ci coordinator:

    Please enter the gitlab-ci coordinator URL (e.g. sentayho.com.vn/): sentayho.com.vn
  5. Nhập gitlab-ci token:

    Please enter the gitlab-ci token for this runner: xxxxx

    Để lấy token, đăng nhập vào tài khoản GitLab: sentayho.com.vn/users/sign_in

    Sau đó, đi đến project, chọn CI/CD dưới tab Settings và mở rộng phần Runners Settings.

    Dưới phần Runners Settings, bạn sẽ thấy token.

  6. Nhập gitlab-ci description:

    Please enter the gitlab-ci description for this runner: [Admin-PC]: Hello GibLab Runner
  7. Nhập gitlab-ci tag:

    Please enter the gitlab-ci tags for this runner (coma separated): tag1, tag2
  8. Khóa Runner với dự án hiện tại bằng cách đặt giá trị thành true:

    Whether to lock the Runner to current project [true/false]: [true]: true

    Sau các bước trên, bạn sẽ nhận được thông báo: Registering runner…succeeded.

  9. Nhập Runner executor để build project:

    Please enter the executor: parallels, shell, docker+machine, kubernetes, docker-ssh+machine, docker, docker-ssh, ssh, virtualbox: docker

    Ở đây, ta chọn docker để tạo build environment và quản lý các dependencies dễ dàng.

  10. Chọn default image để đặt cho docker selector:

    Please enter the default Docker image (e.g. ruby:2.1): alpine:latest
  11. Màn hình sẽ hiển thị tin nhắn Runner registered successfully:

  12. Cuối cùng, đi đến project rồi click vào CI/CD dưới phần Settings. Bạn sẽ thấy Runners đã được kích hoạt cho project.

Bạn cũng có thể thấy cấu hình GitLab Runner trong file sentayho.com.vn dưới folder GitLab-Runner:

Cài đặt GitLab trên Ubuntu

Bên cạnh Windows, bạn có thể install GitLab trên Ubuntu bằng package Omnibus. Package này cung cấp nhiều dịch vụ khác nhau để có thể chạy GitLab cùng với các thành phần cần thiết của GitLab. Từ đó có thể thiết lập các cấu hình cũng như metadata của project – được sử dụng trong hệ thống của user.

Xem thêm: Hướng dẫn sử dụng Ubuntu cho người mới bắt đầu

Hướng dẫn install GitLab trên Ubuntu:

  1. Đăng nhập vào server GitLab bằng SSH (Secure Shell).

  2. Tải package Omnibus.

  3. Cài đặt postfix:

    sudo apt-get install postfix

    Postfix là một agent chuyển mail mã nguồn mở, được sử dụng để gửi các thông báo qua email.

  4. Trong quá trình cài đặt Postfix, bạn cần chọn loại cài đặt – hãy chọn vào option Internet Site. Sau đó, màn hình sẽ hiển thị cấu hình Postfix cùng với mail name hệ thống.

  5. Cài đặt dpkg (trình quản lý package cho debian system) để quản lý các package đã được cài đặt:

    sudo dpkg -i gitlab-ce_7.10.4~sentayho.com.vn
  6. Để lưu lại các thay đổi, cần cấu hình lại GitLab bằng lệnh:

    sudo gitlab-ctl reconfigure
  7. Kiểm tra trạng thái của dịch vụ GitLab với lệnh:

    sudo gitlab-ctl status

Sử dụng lệnh cơ bản GitLab

Sau khi install GitLab, hãy cùng tìm hiểu một số lệnh cơ bản trong GitLab:

$ git --version

Thêm Git username và địa chỉ email để định danh author. Đặt username bằng lệnh:

$ git config --global user.name "USERNAME"

Xác thực tên bằng lệnh:

$ git config --global user.name

Đặt địa chỉ email với lệnh:

$ git config --global user.email "EMAIL_ADDRESS"

Kiểm tra thông tin vừa nhập:

$ git config --global --list

Pull các thay đổi gần đây nhất về master branch:

$ git checkout master

Fetch các thay đổi gần nhất với working directory:

$ git pull origin NAME-OF-BRANCH -u

Trong đó, NAME-OF-BRANCH có thể là master hoặc bất kỳ branch nào.

Tạo một branch mới:

$ git checkout -b branch-name

Chuyển đổi giữa các branch:

$ git checkout branch-name

Kiểm tra các thay đổi trong file:

$ git status

Các thay đổi sẽ có màu đỏ. Thêm các file vào staging:

$ git add file-name

Hoặc thêm tất cả các file vào staging:

$ git add *

Gửi các thay đổi đến master branch:

$ git push origin branch-name

Để xóa tất cả thay đổi đã được stage:

$ git checkout .

Xóa mọi thay đổi, kể cả các untracked file:

$ git clean -f

Merge nhiều branch vào master branch:

$ git checkout branch-name
$ git merge master

Merge master branch với các branch đã được tạo:

$ git checkout master
$ git merge branch-name

Việc sử dụng GitLab mang lại những lợi thế nhất định cho các cá nhân, tổ chức và doanh nghiệp. Nếu bạn là một lập trình viên hoặc mong muốn theo đuổi công việc của một lập trình viên, chắc chắn không thể bỏ qua công cụ này.

Lời kết

Bài viết này đã cung cấp thông tin về GitLab, cách cài đặt và sử dụng GitLab. Hy vọng bạn có thể cài đặt và sử dụng GitLab hiệu quả hơn trong quá trình làm việc. Chúc các bạn thành công!