Tổng quan về Gitlab
Git là gì?
Git có tên đầy đủ là Version Control System. Được phát triển bởi Linus Torvalds, Git là phần mềm quản lý mã nguồn dành cho việc phát triển Linux kernel. Phần mềm mã nguồn mở này có thể chạy trên cả Linux, Windows, MacOS,…
Người dùng có thể yên tâm sử dụng Git mà không cần “lăn tăn” về câu chuyện bản quyền. Git là phần mềm theo giấy phép nguồn mở GPL2. Vì thế, Git cho phép người dùng có quyền can thiệp vào mã nguồn để tiến hành chỉnh sửa nâng cấp tùy biến.
Gitlab là gì?
Nếu như GitHub theo hướng kinh doanh, GitLab là một phần mềm có nhiệm vụ quản lý kho code Git. Gitlab sở hữu các tính năng đơn giản, 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 miễn là có kết nối Internet.
Bạn có thể ẩn kho code của mình, không công khai chúng cho bất kỳ ai, trong trường hợp vượt quá ngưỡng miễn phí thì bạn mới phải mất phí để mua thêm dịch vụ.
Truy cập trang chủ của Gitlab.
Tại sao bạn nên dùng Gitlab?
Sử dụng Gitlab mang đến cho lập trình viên:
- Sự tiện lợi. Thao tác mỗi khi cần lưu trữ, tải lên, tải xuống code dễ dàng hơn.
- Kiểm soát các thay đổi trong code nhanh chóng, chính xác.
- Dễ dàng quản lý, phân phối công việc, hoàn thành dự án lập trình chất lượng hơn.
Lịch sử phát triển Gitlab
“Cha đẻ” của Gitlab là Dmitriy Zaporozhets. Ông là người Ukraine và là giám đốc điều hành Sytse Sijbrandij (trụ sử được đặt tại Utrecht). Thật ra, Gitlab là “đứa con tinh thần” của cả một nhóm: Sid Sijbrandij (CEO) và Dmitriy Zaporozhets (CTO).
Năm 2013, Gitlab “trình làng” với 2 phiên bản CE (Community Edition) miễn phí và EE (Enterprise Edition) có trả phí . Gitlab được viết bằng ngôn ngữ Ruby với giấy phép phần mềm tự do và nguồn mở MIT. Một số phần sau đó được viết bằng ngôn ngữ Go và Vue.js.
Tính đến thời điểm này, Gitlab đã được Alibaba Group, IBM, Spacex và Khosla Ventures, … tài trợ.
Trung tâm nghiên cứu Jülich Research Center, NASA, Alibaba, O’Reilly Media, Leibniz-Rechenzentrum (LRZ), CERN,… và hơn 100.000 tổ chức khác đã chọn Gitlab làm nơi lưu trữ cho mình. Hiện tại, có hơn 1000 mã nguồn mở có mặt trên Gitlab.
Các đặc điểm nổi bật của Gitlab
Các phiên bản của Gitlab
GitLab có 3 phiên bản bao gồm:
- Gitlab community edition (CE): còn được biết đến là Gitlab phiên bản cộng đồng. Đây là phiên bản mã nguồn mở. Được cung cấp qua Git từ kho lưu trữ chứa Gitlab. Phiên bản mới nhất của Gitlab được các nhà phát triển release tại các nhánh stable và nhánh master.
- Gitlad enterprise edition (EE): còn được biết đến là Gitlab phiên bản doanh nghiệp. Đây là phiên bản có sẵn không lâu sau khi phát hành bản CE, đượ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à một giải pháp tích hợp được thực hiện bởi nhóm phát triển Gitlab.
Protected branches
Protected branches sẽ cho phép người dùng có thể:
- Đọc hoặc ghi vào repository và các branches.
- Commit và pushing code (đối với một số đối tượng nhất định).
Thông thường, một protected branch gồm 3 chức năng chặn:
- Push từ tất cả mọi người (trừ user và master).
- Push code lên branch từ những người không có quyền truy cập.
- Bất kỳ ai thực hiện xóa branch.
Master branch được mặc định là protected branch. User cần được cấp ít nhất một quyền từ master branch để bảo mật branch.
Đây là một chức năng cực kỳ hữu ích để các nhà phát triển có thể bảo vệ được thành quả lao động của mình. Bại có thể tìm hiểu thêm về Protected branches trong tài liệu chính thức của Gitlab.
Tầng vật lý
- Kho lưu trữ: là nơi xử lý các dự án trên GitLab, các dự án hoặc sản phẩm 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 được thực hiện bởi worker trong văn phòng.
- Cơ sở dữ liệu là các file của các metal file cabinets chứa các thông tin: sản phẩm trong warehouse, 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
Ứng dụng GitLab-shell được cài đặt tại thư mục: /home/git/gitlab-shell cho phép sử dụng kho dữ liệu qua SSH.
Lợi ích của việc sử dụng Gitlab
GitLab là open core
Đây là một ưu thế cạnh tranh dành cho GitLab khi các đối thủ của phần mềm này chủ yếu là các closed-source. GitLab Community Edition là mã nguồn mở hoàn chỉnh và phiên bản Enterprise Edition là opencore (độc quyền).
Truy cập vào mã nguồn
Điểm vượt trội của Open core là bạn có thể xem và sửa đổi source code của GitLab Community Edition và Enterprise Edition khi nào bạn muốn. Điều này không thể thực hiện đối với phần mềm closed-source. Có thể là trên Server hoặc bằng cách giả lập 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ính khả thi lâu dài (Viable long term)
Chính vì sự uy tín của GitLab, nên đã tạo ra một cộng đồng vững chắc với hàng trăm nghìn tổ chức, cá nhân sử dụng và đóng góp cho phần mềm. Việc có nhiều người cùng xây dựng giúp 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.
Cộng đồng phát triển
Bởi những ý kiến đóng góp, xây dựng cùng sự phản hồi tích của của người dùng, GitLab đang ngày một xây dựng những phiên bản tốt nhất từ ý kiến của các khách hàng để đem đến cho họ những trải nghiệm tuyệt vời nhất. Đ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.
Hướng dẫn cài đặt Gitlab
Cài đặt Gitlab Runner trên Windows
Để cài đặt Gitlab trên Windows, bạn chỉ cần thực hiện theo những bước sau đây:
Bước 1: tải và cài đặt Git. Phần này không có gì quá khó khăn, bạn chỉ cần thực hiện theo hướng dẫn cài đặt là được.
Bước 2: tạo một folder trống trên máy tính của bạn. Ví dụ như: C:\GitLab-Runner
Bước 3: tiếp theo, bạn cần tải phiên bản nhị phân .exe x86 cho phiên bản Windows 32bit hoặc x64 cho Windows phiên bản 64bit.
Bước 4: Sau khi tải file .exe về, bạn nên đổi tên thành gitlab-runner.exe.
Bước 5: bạn nhấn tổ hợp phím Windows + R gõ CMD và nhấn Enter để truy cập vào command prompt = bạn nhập dòng lệnh như sau:
- C:\GitLab-Runnergitlab-runner.exe register
Bước 6: nhập URL của gitlab-ci coordinator, bạn nhập: https://gitlab.com
Bước 7: bạn sẽ cần phải nhập gitlab-ci token của Gitlab. Để lấy được token, bạn thực hiện như sau:
- Đăng nhập vào Gitlab
- Trên menu, nhấn vào Projects
- Trong tab Settings, bạn chọn vào CI/CD
- Tại phần Runners Settings, bạn sẽ thấy dòng token giống như trong ảnh, bạn copy lại và chạy nhé.
Bước 8: nhập gitlab-ci description:
- Please enter the gitlab-ci description for this runner:
- [Admin-PC]: Hello GibLab Runner
Bước 9: nhập gitlab-ci tag:
- Please enter the gitlab-ci tags for this runner (coma separated):
- tag1, tag2
Bước 10: Bạn lock Runner bằng cách chọn giá trị true. Sau khi có thông báo: Registering runner…succeeded là bạn đã thành công.
Bước 11: để build project, bạn chọn vào docker và chọn default image cho docker selector là ổn.
Sau khi khi bạn thấy dòng code: Runner registered successfully là bạn đã thành công!
Bạn có thể tham khảo hướng dẫn của Gitlab.
Cài đặt Gitlab trên Linux Server
Trước khi cài đặt cần chuẩn bị máy chủ:
- Ubuntu phiên bản 14.04 64-bit trở lên
- 1 CPU 1 – 2 nhân
- RAM: 1GB hoặc 2GB. Tuy nhiên, phiên bản mới nhất Gitlab khuyến nghị phiên bản máy có ít nhất 4GB RAM.
- Mạng Internet ổn định.
Tiến hành thao tác như hướng dẫn dưới đây:
Bạn có thể tham khảo thêm tài liệu hướng dẫn chính thức về cài đặt Git của Linux nhé!
Trên đây là những kiến thức cơ bản về Gitlab. Hy vọng bài viết này có thể mang đến cho bạn những trải nghiệm hiệu quả với Gitlab.