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.
Một số tính năng của GitLab
- Nền tảng quản lý kho lưu trữ mã nguồn mở với sự hỗ trợ từ cộng đồng.
- Dễ dàng duyệt và bảo trì kho lưu trữ trên máy chủ của bạn.
- Cung cấp một loạt các công cụ như Group Milestones, Time Tracking và Issue Tracker để tối ưu hóa quá trình phát triển.
- Cung cấp nhiều tính năng xác thực và giao diện người dùng mạnh mẽ và linh hoạt.
- Nâng cao quyền người dùng và bảo vệ chi nhánh cho sự an toàn và kiểm soát cao hơn.
GitLab runner là gì?
GitLab Runner là một ứng dụng mã nguồn mở được viết bằng ngôn ngữ Go, được tạo ra và duy trì bởi GitLab để hỗ trợ quá trình CI/CD cho các dự án và kho lưu trữ trên nền tảng GitLab. Người dùng có thể tự cài đặt GitLab Runner trên máy chủ của họ hoặc sử dụng các Runner được cung cấp bởi GitLab. Để bắt đầu quá trình CI/CD, người dùng chỉ cần tạo một tệp .GitLab-ci.yml tại thư mục gốc của dự án hoặc kho lưu trữ để thiết lập các bước và chỉ định Runner của GitLab để thực hiện quy trình CI/CD.
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 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.
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ó.
Xem thêm: Git Commit là gì? Cách sử dụng lệnh Git Commit
Components
Sơ đồ kiến trúc components này cung cấp cái nhìn tổng quan về cách các thành phần chính của GitLab tương tác và làm việc với nhau để hỗ trợ quy trình phát triển phần mềm và quản lý dự án. Bạn có thể xem chi tiết sơ đồ này qua hình ảnh dưới đây.
GitLab khác gì GitHub? So sánh GitLab vs GitHub
GitLab và GitHub đều là nền tảng kiểm soát phiên bản phổ biến, được sử dụng bởi các nhà phát triển phần mềm trên toàn thế giới. Cả hai nền tảng đều có ưu và nhược điểm riêng, khiến chúng phù hợp với các mục đích sử dụng khác nhau.
GitLab | GitHub | |
Phát triển bởi | GitLab được phát triển bởi Dmitriy Zaporozhets và Valery Sizov. | GitHub được phát triển bởi Chris Wanstrath, Tom Preston-Werner, PJ Hyett và Scott Chacon. |
Mã nguồn mở | GitLab là mã nguồn mở cho phiên bản cộng đồng. | GitHub không phải là mã nguồn mở. |
Kho lưu trữ công cộng | Cho phép người dùng tạo kho lưu trữ công khai. | Kho lưu trữ miễn phí và không giới hạn. |
Kho lưu trữ riêng tư | GitLab có cung cấp kho lưu trữ riêng miễn phí. | Cho phép bạn lưu trữ riêng tư miễn phí và tối đa 3 cộng tác viên. |
Mô hình cài đặt | GitLab cung cấp cả phiên bản dự án mã nguồn mở mà bạn có thể tự cài đặt trên máy chủ của bạn hoặc sử dụng dịch vụ dựa trên đám mây do GitLab cung cấp. | GitHub cung cấp một dịch vụ dựa trên đám mây và không yêu cầu việc quản lý máy chủ. |
Giá cả | GitLab cung cấp phiên bản miễn phí cơ bản và phiên bản trả phí với nhiều tính năng mở rộng. | GitHub cung cấp các tùy chọn miễn phí và trả phí dành cho các tài khoản cá nhân và tổ chức. |
Tính năng | Tuy nhiên, GitLab thường được xem là có nhiều tính năng tích hợp sâu hơn cho phát triển liên tục và triển khai liên tục, trong khi GitHub có một hệ sinh thái lớn với nhiều ứng dụng bên ngoài và tích hợp của cộng đồng. | |
Cộng đồng | Cả GitHub và GitLab đều có cộng đồng lớn và tích cực, với hàng triệu người dùng và dự án. |
Nhìn chung, GitLab là một lựa chọn tốt cho các nhà phát triển đang tìm kiếm một nền tảng kiểm soát phiên bản miễn phí và mã nguồn mở. Nó cung cấp nhiều tính năng và tích hợp, nó có thể được sử dụng cho các dự án cả lớn và nhỏ.
GitHub là một lựa chọn tốt cho các nhà phát triển đang tìm kiếm một nền tảng kiểm soát phiên bản phổ biến và được sử dụng rộng rãi. Nó có một cộng đồng lớn và tích cực, cung cấp nhiều tính năng tích hợp.
Vì thế, GitLab và GitHub đều là những nền tảng kiểm soát phiên bản tuyệt vời. Sự lựa chọn nền tảng nào tốt hơn phụ thuộc vào nhu cầu và sở thích cụ thể của bạ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.
Lợi ích của việc sử dụng GitLab
GitLab là một nền tảng kiểm soát phiên bản mã nguồn mở, cung cấp nhiều tính năng và tích hợp để giúp các nhà phát triển quản lý mã nguồn của họ một cách hiệu quả. Dưới đây là năm lợi ích chính của việc sử dụng GitLab:
Mô hình Opencore – Mã nguồn mở
Phiên bản cộng đồng của GitLab là miễn phí và mã nguồn mở, có nghĩa là bất kỳ ai cũng có thể sử dụng và chỉnh sửa nó. Điều này mang lại cho các nhà phát triển quyền tự do và linh hoạt để tùy chỉnh GitLab theo nhu cầu của họ.
Tiện lợi trong việc truy cập mã nguồn
GitLab có sẵn dưới dạng ứng dụng web, ứng dụng máy tính để bàn và ứng dụng di động. Điều này cho phép các nhà phát triển truy cập và quản lý mã nguồn của họ từ mọi nơi.
Khả năng đảm bảo tính khả dụng cao
GitLab được xây dựng với tính bảo mật và an toàn hàng đầu. Nó sử dụng các biện pháp bảo mật mạnh mẽ để bảo vệ mã nguồn của bạn khỏi bị truy cập trái phép.
Hỗ trợ phát triển cộng đồng mạnh mẽ
GitLab tích hợp với nhiều công cụ và dịch vụ phát triển phổ biến, chẳng hạn như GitHub, Docker và Kubernetes. Điều này giúp các nhà phát triển kết nối liền mạch các quy trình phát triển của họ.
Giải pháp bền vững cho dự án lâu dài
GitLab có một cộng đồng tích cực và hỗ trợ. Cộng đồng này cung cấp tài nguyên và hỗ trợ cho các nhà phát triển đang học cách sử dụng GitLab.
Cách cài đặt và 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, bạn cần có một VPS để chạy ứng dụng. Nếu bạn chưa có VPS, bạn có thể tham khảo đăng ký các gói VPS của Vietnix. Vietnix là một nhà cung cấp dịch vụ web hosting và VPS được đánh giá cao về chất lượng và uy tín.
Các gói VPS của Vietnix cung cấp nhiều tùy chọn với các cấu hình khác nhau để phù hợp với nhu cầu của bạn như VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe và VPS GPU. VPS của Vietnix cũng hỗ trợ nhiều hệ điều hành phổ biến như Ubuntu, Windows, CentOS và Debian để bạn có thể cài đặt GitLab một cách dễ dàng.
Liên hệ với Vietnix để được tư vấn lựa chọn gói VPS phù hợp và tiến hành cài đặt, sử dụng GitLab hiệu quả.
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 (CMD) 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.
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.
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. GitLab là một nền tảng kiểm soát phiên bản mạnh mẽ và linh hoạt có thể mang lại lợi ích cho các nhà phát triển ở mọi quy mô. Nếu bạn đang tìm kiếm một nền tảng kiểm soát phiên bản miễn phí, mã nguồn mở và có tính bảo mật cao, thì GitLab là một lựa chọn tuyệt vời. Chúc các bạn thành công.