Có 2 công cụ phổ biến nhất hiện nay để quản lý mã nguồn đó là Subversion và GIT. GIT là công cụ đang được người dùng sử dụng nhiều nhất trong các dự án phần mềm. Vậy GitLab là gì? Bài viết sau đây Nhân Hòa sẽ hướng dẫn cho các bạn cách cài đặt GitLab - một công cụ quản lý source code sử dụng GIT.
1. Gitlab là gì?
GitLab là một phần mềm có chức năng và nhiệm vụ quản lý code Git. GitLab bao gồm những tính năng đơn giản, nó cũng góp phần to lớn trong việc giúp các doanh nghiệp, cá nhân, tổ chức lưu trữ code một cách nhanh chóng vô cùng, người dùng hoàn toàn có thể truy cập mọi lúc mọi nơi với điều kiện máy tính có kết nối Internet.
GitLab là gì?
GitLab cũng tương tự như GitHub nhưng GitHub sẽ theo hướng kinh doanh nếu như bạn có kho code riêng và muốn ẩn khỏi cộng đồng hoặc mở rộng hơn nữa thì bạn sẽ phải mua thêm các phí dịch vụ. Nhưng đối với GitLab thì nó lại khác hoàn toàn, bạn có thể ẩn code của bạn không công khai cho bất kỳ ai và nếu như vượt quá ngưỡng cho phép miễn phí thì GitLab mới đòi hỏi bạn phải mua thêm dịch vụ.
>>> Xem thêm: MariaDB là gì?
2. Đặc điểm của GitLab
GitLab hỗ trợ 3 phiên bản:
- GitLab Community Edition (CE)
Đây là phiên bản cộng đồng là phiên bản mã nguồn mở. Được cung cấp qua Git từ kho lưu trữ chứa GitLab được các nhà phát triển release tại các nhánh stable và nhánh master
- GitLab Enterprise Edition (EE)
Phiên bản doanh nghiệp này được ra đời không lâu sau khi phát hành phiên bản cộng đồng, được cung cấp từ kho lưu trữ của gitlab.com. Một doanh nghiệp đăng ký GitLab được sự support của GitLab BV những khó khăn khi cài đặt
- GitLab Continuous Integration (CI)
Đây là giải pháp tích hợp của 2 phiên bản được thực hiện bởi nhóm phát triển GitLab
Đặc điểm của GitLab
Protected Branches
GitLab cho phép đọc hoặc ghi vào repository và các branches. Để cấp quyền cho những người được phép commit và pushing cod, GitLab đã tạo ra protected branches. Một protected branch bao gồm 3 điều cơ bản sau:
+ Ngăn chặn việc push từ tất cả mọi người trừ 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
+ Ngăn chặn việc bất kỳ ai có hành vi xóa branch
Hơn thế nữa, bạn có thể tạo bất kỳ branch từ một protected branch. GitLab mặc định master branch là protected branch. Để bảo mật một branch, người dùng cần ít nhất một quyền cho phép từ master branch
Tầng vật lý của GitLab
Kho lưu trữ dùng để xử lý các dự án trong GitLab. Các sản phẩm lưu trữ như dự án có thể được lưu trữ tại Warehouse. Nó có thể là một đĩa cứng hoặc một cái gì đó phức tạp hơn như hệ thống tập tin NFS.
Nginx hoạt động giống như front-desk. Người sử dụng đến Nginx và yêu cầu hành động được thực hiện bởi worker trong văn phòng
Cơ sở dữ liệu là một loạt các file của các metal file cabinets với các thông tin về các sản phẩm trong warehouse (siêu dữ liệu, issue, các yêu cầu merge,...), người sử dụng đến front-desk (permissions), Redis, Sidekiq, A Unicorn worker,...
GitLab-shell: thực hiện nhiệm vụ tạo các đơn đặt hàng từ một máy fax (SSH) thay vì front-desk (HTTP)
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
Khi đề cập đến Git trong những hình ảnh có nghĩa là thư mục home của người sử dụng Git thường là /home/git
Repositories bare nằm trong đường dẫn /home/git/repositories. GitLab là một ứng dụng ruby on rails do đó có thể biết rõ các hoạt động bên trong bạn có thể tìm hiểu bằng cách tìm hiểu về hoạt động của ruby on rails
Để sử dụng kho dữ liệu qua SSH có một ứng dụng thêm vào được gọi là gitlab-shell, cái mà được cài đặt tại /home/git/gitlab-shell
3. Tại sao nên sử dụng GitLab?
- GitLab là open core
GitLab là một sản phẩm open core trong khi sản phẩm của các đối thủ cạnh tranh của GitLab chủ yếu là các sản phẩm closed-source. GitLab Community Edition là mã nguồn mở hoàn chỉnh và phiên bản Enterprise là open core (độc quyền)
- Truy cập vào mã nguồn
Không giống như các phần mềm closed source, bạn có thể xem và sửa đổi source code của GitLab Community Edition và Enterprise Edition bất cứ lúc nào. Có thể là trên Server hoặc bằng cách giả tạo kho lưu trữ của GitLab, bạn có thể thêm các tính năng và thực hiện các tùy chỉnh. GitLab khuyên bạn nên cố gắng hợp nhất các thay đổi trở lại source code chính để những người khác có thể hưởng lợi từ những thay đổi và những thay đổi này vẫn để duy trì và cập nhật
Tại sao nên sử dụng GitLab?
- Tính khả thi lâu dài (Viable long term)
GitLab là một cộng đồng vững chắc với hàng trăm nghìn tổ chức sử dụng và đóng góp cho phần mềm. Điều này có nghĩa là GitLab có khả năng sử dụng lâu dài hơn vì sẽ không đáng tin cậy nếu chỉ có duy nhất một công ty hỗ trợ cho phần mềm
- Xây dựng với cộng đồng
GitLab được xây dựng bởi hàng trăm người mỗi tháng. Khách hàng, người dùng và GitLab.Inc đều có sự đóng góp cho mọi bản phát hành. Điều này góp phần tạo nên các tính năng mà các tổ chức thực sự cần, chẳng hạn như quản lý người dùng thật dễ dàng nhưng không hề kém phần mạnh mẽ
- Phiên bản ổn định mới mỗi tháng
GitLab phát hành phiên bản ổn định mới mỗi tháng, đầy đủ các cải tiến, tính năng và bản sửa lỗi. Điều này khiến cho GitLab phát triển rất nhanh và luôn đáp ứng yêu cầu của khách hàng theo cách cực kỳ nhanh chóng
>>> Xem thêm: Framework là gì?
4. Hướng dẫn cài đặt GitLab trên Windows
Bước 1: Tạo một thư mục mới đặt tên GitLab-Runner trong thư mục hệ thống. Bạn nên tạo nó trong ổ đĩa cài đặt của máy thông thường là ổ C, C:GitLab-Runner.
Bước 2: Tải phiên bản GitLab tương ứng với hệ điều hành của máy:
- GitLab 32bit
- GitLab 64bit
Copy file cài vừa tải về vào thư mục đã tạo và đổi tên file gitlab-runner.exe.
Bước 3: Mở command prompt lên và nhập dòng code sau vào.
cd C:GitLab-Runner
.gitlab-runner.exe install
.gitlab-runner.exe start
Hướng dẫn cài đặt GitLab trên Windows
Bước 4: Đăng ký tài khoản GitLab
- Dừng chương trình GitLab đang chạy bằng câu lệnh: gitlab-runner.exe stop
- Chạy câu lệnh đăng ký tài khoản: gitlab-runner.exe register
- Tại đây, bạn sẽ nhận thông báo lỗi với chữ đỏ, hãy dừng lệnh cài đặt bằng lệnh stop: gitlab-runner.exe register stop
- Thông báo “Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )”. Bạn nhập địa chỉ URL vào: https://gitlab.com
Thông báo “Please enter the gitlab-ci token for this runner” yêu cầu nhập token. Để lấy token bạn phải đăng ký tài khoản gitlab. Sau đó, đăng nhập tài khoản chọn Setting => CI/CD, kéo thanh trượt xuống mục “Set up a specific Runner manually” để lấy token, nhập vào command prompt.
xxx (token của bạn)
Thông báo “Please enter the gitlab-ci description for this runner”. Yêu cầu nhập mô tả cho runner: My-runner (bạn có thể dùng tên khác hoặc chỉnh sửa sau).
Thông báo “Please enter the gitlab-ci tags for this runner (comma separated):” nhập thẻ tag cho runner: my-tag,another-tag.
Thông báo cài đặt thành công “Registering Runner… succeeded”. Nhập vào Runner executor: docker.
Nếu chọn docker, bạn sẽ được hỏi dùng hình ảnh mặc định cho các projects: alpine:latest.
5. Lời kết
Hiện nay cộng đồng Gitlab đang phát triển rất mạnh mẽ phiên bản GitLab Community Edition (CE) có hơn 700 thành viên hỗ trợ và phát triển thường xuyên ngoài ra nó cũng hơn 120000 tổ chức bao gồm IBM, Sony, Jülich Research Center, NASA, Alibaba, Invincea, O’Reilly Media, Leibniz-Rechenzentrum (LRZ), CERN, and SpaceX sử dụng để làm nơi lưu trữ và hiện có hơn 1400 mã nguồn mở có mặt trên Gitlab.
Nếu bạn có một VPS hay một máy chủ riêng hãy trải nghiệm cài thử Gitlab để tối ưu tốc độ push và clone repository nhé!
Không chỉ dừng lại ở VPS, Nhân Hòa còn cung cấp các dịch vụ hạ tầng công nghệ khác như Hosting, Hosting Wordpress, Email theo tên miền, đăng ký tên miền,... sẽ giúp doanh nghiệp của bạn vươn lên dẫn đầu trên thị trường công nghệ ở thời điểm hiện tại và cả trong tương lai.
+ Fanpage: https://www.facebook.com/nhanhoacom
+ Chỉ đường: https://g.page/nhanhoacom
+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html
————————————————————
CÔNG TY TNHH PHẦN MỀM NHÂN HÒA
Hotline: 1900 6680
Trụ sở chính: Tầng 4 - Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội
Tel: (024) 7308 6680 – Email: sales@nhanhoa.com
Chi nhánh: 270 Cao Thắng (nối dài), Phường 12, Quận 10, Tp.HCM
Tel: (028) 7308 6680 – Email: hcmsales@nhanhoa.com