Bạn muốn tìm hiểu về GitLab là gì? Thì bài viết này dành cho bạn và sẽ hướng dẫn cho bạn làm sao để cài đặt và sử dụng GitLab? Sau đây là hướng dẫn sử dụng GitLab chi tiết nhất.
GitLab là gì?
GitLab là một trang web dựa trên DevOps mã nguồn mở và là một phần mềm có chức năng và nhiệm vụ quản lý phiên bản mã nguồn, cung cấp một trình quản lý Git-repository. Trình quản lý này có các tiện ích như wiki, theo dõi sự cố và tích hợp liên tục. Bên cạnh đó là khả năng triển khai các tính năng 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 hay tổ chức có thể lưu trữ và quản lý kho code dễ dàng, an toàn và truy cập nhanh chóng thông qua Internet. Với GitLab, nó cung cấp dung lượng lưu trữ miễn phí cho người dùng, ngoài ra bạn có thể nâng cấp dung lượng (mất phí) khi muốn sử dụng nhiều dung lượng hơn.
>> Xem thêm: Git là gì? Một số lệnh cơ bản và nâng cao khi làm việc với Git
Tóm tắt lịch sử phát triển của GitLab
Phần mềm của GitLab thì được tạo ra bởi hai developer người Ukraina là Dmitriy Zaporozhets và Valery Sizov. Là 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.
Ban đầu, 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. Từ đó 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 được phát triển thành một giải pháp tích hợp gồm cả vòng đời phát triển phần mềm lẫn toàn bộ vòng đời DevOps. Hiện nay, công nghệ bao gồm Go, Ruby trên Rails và Vue.js.
GitLab tuân theo mô hình phát triển open-core. Trong đó, chức năng core được phát hành theo license open-source MIT. Còn chức năng bổ sung thì tuân theo giấy phép độc quyền.
Website truy cập GitLab: https://about.gitlab.com/
Đặc điểm của GitLab
Phiên bản của GitLab
GitLab hỗ trợ 3 phiên bản sau:
- GitLab community edition (CE): Đây là phiên bản cộng đồng, cung cấp qua Git từ kho lưu trữ có chứa GitLab.
- GitLab enterprise edition (EE): Đây là 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. Khi doanh nghiệp đăng lý GitLab sẽ nhận được sự hỗ trợ của GitLab trong quá trình cài đặt cũng như sử dụng.
- GitLab continuous integration (CI): Được tích hợp bởi nhóm phát triển GitLab.
Protected branches
Với đặc điểm này, GitLab cho phép đọc và ghi vào repository và các branches. Protected branches cấp quyền cho người đucợ phép commit và pushing code và có 3 đặc điểm cơ bản sau:
- Ngăn chặn push từ mọi người trừ các user và master.
- Ngăn được việc push code lên branch từ những người không có quyền truy cập.
- Chặn được những người thực hiện xóa branch.
Master branch sẽ mặc định là protected branch còn user sẽ được cấp ít quyền hơn để đảm bảo tính bảo mật được an toàn.
>> Xem thêm: GitHub là gì? Ví dụ thực tế về GitHub
Tầng vật lý của GitLab
Tầng vật lý của GitLab là gì?
- Kho lưu trữ: Là nơi xử lý các dự án GitLab, các dự án có thể được lưu tại warehouse.
- Nginx có cách thức hoạt động giố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: Là tập hợp cấc quy trình và hoạt động kinh doanh được điều hành bởi office.
System layout
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 của nó.
Tại sao nên sử dụng GitLab?
Các ứng dụng của GitLab cho phép tự động hóa DevOps, từ đó ta 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. Trong đó 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.
Hiện nay, GitLab đang ngày càng trở nên phổ biến hơn. Sở dĩ vì các tính năng phong phú của nó cùng với số lượng code block có sẵn. Trong đó, sự hợp tác của các code platform chính là trung tâm của GitLab. Từ đây nó có thể dễ dàng được tái sử dụng hay 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. Đồng thời, 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 những hệ thống khác.
Các dự án của GitLab có thể được đặt thành public và 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 của web.
>> Xem thêm: Hub là gì? Phân biệt sự khác nhau giữa Hub và Switch
Hướng dẫn sử dụng GitLab
Sau khi tìm hiểu GitLab là gì 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. Ta có thể đặt nó ở bất kỳ đâu, chẳng hạn như trong C:GitLab-Runner
2. Tiếp theo, tải file nhị phân cho x86 hoặc amd64. Sau đó copy chúng vào folder vừa tạo. Hãy đổi tên của file binary đó thành gitlab-runner.exe.
3. Mở command prompt rồi điều hướng đến folder đã tạo trước đó, nhập dòng lệnh sau rồi nhấn enter:
C:GitLab-Runner>gitlab-runner.exe register
4. Sau đó, ta sẽ được yêu cầu nhập URL của gitlab-ci coordinator.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): https://gitlab.com
5. Nhập gitlab-ci token:
Please enter the gitlab-ci token for this runner: xxxxx
Để lấy được token, hãy login vào tài khoản GitLab tại đây: https://gitlab.com/users/sign_in
Tiếp theo, đi đến project sau khi đăng nhập vào GitLab
Click vào option CI/CD dưới tab Settings rồi mở rộng phần Runners Settings.
Dưới phần Runners Settings, ta sẽ nhìn thấy token như ảnh dưới:
6. Nhập gitlab-ci description:
Please enter the gitlab-ci description for this runner: [Admin-PC]: Hello GibLab Runner
7. Sau đó là nhập gitlab-ci tag:
Please enter the gitlab-ci tags for this runner (coma separated): tag1, tag2
8. Tiếp theo, ta có thể lock Runner với dự án hiện tại bằng cách đặt giá trị của nó thành true:
Whether to lock the Runner to current project [true/false]: [true]: true
Sau các bước trên, ta sẽ có một thông báo hiện lên: ‘Registering runner…succeeded.‘
9. Bây giờ hãy 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 selector là ‘docker’ để tạo build enviroment và quản lý các dependencies dễ dàng cho việc develop dự án.
10. Tiếp theo, ta cần chọn default image để đặt cho docker selector.
Please enter the default Docker image (e.g. ruby:2.1): alpine:latest
11. Sau đó, 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. Ta sẽ thấy Runners đã được kích hoạt cho project.
Ta cũng có thể thấy được cấu hình GitLab Runner trong file config.toml dưới folder GitLab-Runner như dưới đây –
Cài đặt GitLab trên Ubuntu
Bên cạnh Windows thì ta cũng 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 cung với các thành phần cần thiết của GitLab. Từ đó ta 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
Sau đây là hướng dẫn install GitLab trên Ubuntu:
1. Đầu tiên, login vào server GitLab bằng SSH (Secure Shell).
2. Sau đó, download package Omnibus tại đây.
3. Sau đó là 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, ta cần phải chọn loại cài đặt – hãy chọn vào option Internet Site. Tiếp theo, màn hình sẽ hiển thị cấu hình Postfix cùng với mail name hệ thống như sau –
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~omnibus-1_amd64.deb
6. Để lưu lại các thay đổi, ta cần cấu hình lại GitLab bằng lệnh sau –
sudo gitlab-ctl reconfigure
7. Tiếp theo, 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 sau –
$ git config -global user.name “USERNAME”
Sau đó, xác thực tên bằng lệnh –
$ git config -global user.name
Tiếp đến, đặt địa chỉ email với lệnh –
$ git config -global user.email
Sử dụng lệnh dưới đây để kiểm tra thông tin vừa nhập –
$ git config -global -list
Ta có thể pull các thay đổi gần đây nhất với master branch bằng lệnh sau –
$ git checkout master
Ngoài ra cũng có thể fetch các thay đổi gần nhất với working directory bằng lệnh –
$ git pull origin NAME-OF-BRANCH -u
Ở đây, NAME-OF-BRANCH có thể là ‘master‘ hoặc bất kỳ branch nào hiện có.
Tạo một branch mới với lệnh –
$ git checkout -b branch-name
Ta có thể chuyển đổi giữa các branch bằng lệnh –
$ 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 bằng lệnh –
$ 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 với lệnh –
$ git push origin branch-name
Để xóa tất cả thay đổi đã được stage, sử dụng lệnh –
$ 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 thuần thục GitLab mang đến 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 GitLab là gì? Một số cách cài đặt GitLab ở trên có thể giúp bạn hiểu hơn về GitLab từ đó có thể cài đặt và sử dụng GitLab để mang lại hiểu quả tốt hơn trong quá trình làm việc. Chúc các bạn thành công.