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.
Mục Lục
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 Zaporozhets và Valery 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
-
Tạo một folder với tên ‘GitLab-Runner’ trên hệ thống. Ví dụ:
C:GitLab-Runner. -
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. -
Mở command prompt, điều hướng đến folder đã tạo và nhập lệnh:
C:GitLab-Runner>sentayho.com.vn register -
Nhập URL của gitlab-ci coordinator:
Please enter the gitlab-ci coordinator URL (e.g. sentayho.com.vn/): sentayho.com.vn -
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.
-
Nhập gitlab-ci description:
Please enter the gitlab-ci description for this runner: [Admin-PC]: Hello GibLab Runner -
Nhập gitlab-ci tag:
Please enter the gitlab-ci tags for this runner (coma separated): tag1, tag2 -
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]: trueSau các bước trên, bạn sẽ nhận được thông báo:
Registering runner…succeeded. -
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. -
Chọn default image để đặt cho docker selector:
Please enter the default Docker image (e.g. ruby:2.1): alpine:latest -
Màn hình sẽ hiển thị tin nhắn
Runner registered successfully: -
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.
Hướng dẫn install GitLab trên Ubuntu:
-
Đăng nhập vào server GitLab bằng SSH (Secure Shell).
-
Tải package Omnibus.
-
Cài đặt postfix:
sudo apt-get install postfixPostfix 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.
-
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.
-
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 -
Để 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 -
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!
