GitLab là gì? Hướng dẫn cài đặt Gitlab cho mọi hệ điều hành
Thịnh Văn Hạnh 16/11/2022 1577 Lượt xem Chia sẻ bài viết
Nhiều doanh nghiệp, đặc biệt là những công ty liên quan đến ngách công nghệ thường lựa chọn GitLab để lưu trữ và quản lý kho code một cách dễ dàng và nhanh chóng thông qua kết nối internet. Vậy GitLab là gì? Cùng BKNS tìm hiểu ngay về GitLab nhé!
Tóm Tắt Bài Viết
Định nghĩa GitLab là gì?
Gitlab được biết đến là một phần mềm phổ biến được dùng để quản lý source code, nó cho phép các tổ chức hay cá nhân có thể lưu trữ và quản lý mã nguồn một cách dễ dàng thông qua kết nối internet. Gitlab được thành lập bởi Dmitriy Zaporozhets năm 2013. Dự án bao gồm hai nhóm chính: một bên là “open source core team” và một bên là “GitLab B.V. team” (chi nhánh của công ty Gitlab).
GitLab thuộc hệ thống quản lý Git. Để hiểu Gitlab là gì thì bạn cũng cần nắm được khái niệm về Git. Git giúp máy tính lưu trữ nhiều phiên bản khác nhau của một mã nguồn được nhân bản từ kho lưu trữ. Tất cả những code đã được update và thông tin về người sửa đổi đều được lưu lại với Git.
Các đặc điểm nổi bật của GitLab
GitLab hỗ trợ 3 phiên bản
GitLab hỗ trợ 3 phiên bản đặc biệt
- Gitlab community edition (CE) là phiên bản cộng đồng, open source, cung cấp qua Git từ kho lưu trữ chứa GitLab. 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.
- GitLab enterprise edition (EE) là Gitlab phiên bản doanh nghiệp, 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. Khi một doanh nghiệp đăng ký GitLab sẽ nhận được sự support của GitLab BV khi gặp khó khăn trong quá trình cài đặt và sử dụng.
- Gitlab continuous integration (CI) 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.
Tầng vật lý của GitLab
Kho lưu trữ: là nơi xử lý các dự án trong 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 (siêu dữ liệu, issuse, các yêu cầu merge …).
- Người sử dụng đến front-desk (permissions).
- Redis là phần giao tiếp một broad với cubby holes nơi chứa các nhiệm vụ, yêu cầu cho worker.
- Sidekiq là một worker, công việc chủ yếu là xử lý việc gửi email, nhận nhiệm vụ từ Redis.
- A Unicorn worker là một nhân viên xử lý các nhiệm vụ nhanh chóng và dễ dàng, làm việc cùng với Redis, bao gồm:
- Kiểm tra quyền truy cập bằng cách kiểm tra các session của người dùng được lưu trữ trong Redis cubby hole.
- Làm nhiệm vụ cho Sidekiq.
- Lấy công cụ từ warehouse hoặc di chuyển mọi thứ xung quanh.
GitLab-shell: là loại thứ ba của worker, 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-shell giao tiếp với Sidekiq qua Redis và hỏi những câu hỏi nhanh của Unicorn worker hoặc trực tiếp hoặc qua 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.
Protected branches
Đặc điểm Protected branches cho phép users đọc hoặc ghi vào repository và các branches. Ngoài ra, đặc điểm này giúp Commit và pushing code (đối với một số đối tượng nhất định).
Một protected branch gồm 3 tính năng cơ bản sau:
- Push code lên branch từ những người không có quyền truy cập.
- Push từ tất cả mọi người (trừ user và master).
- Ngăn chặn việc ai cũng có thể thao tác xóa branch.
Gitlab được mặc định Master branch là protected branch và để bảo mật branch, người sử dụng cần ít nhất một quyền từ master branch.
System layout
Khi nói đến Git trong hình ảnh có thể hiểu 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. Do đó, để biết rõ các hoạt động bên trong bạn có thể tìm hiểu về hoạt động của ruby on rails. Ứ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.
Components
Cấu trúc của GitLab được đơn giản hóa qua sơ đồ kiến trúc Components
Ưu, Nhược điểm của GitLab là gì
Ngoài nắm vững khái niệm GitLab là gì và đặc điểm của nó thì bạn còn cần hiểu về ưu, nhược điểm của GitLab. Cụ thể:
Ưu điểm của GitLab
- Rất dễ dàng để thiết lập.
- Giao diện người dùng và công cụ thân thiện với người dùng.
- Gitlab có không giới hạn các kho lưu trữ riêng miễn phí.
- Có thể tích hợp nhiều API và dịch vụ của bên thứ ba
- Thời gian hoạt động khá tốt.
Nhược điểm của GitLab
- Gitlab có phần giao diện khá phức tạp.
- Bản thân công cụ có một vài lỗi có thể làm cho nó hơi cẩu thả.
Lợi ích khi cài đặt GitLab
Rất nhiều cá nhân và doanh nghiệp lựa chọn sử dụng GitLab bởi những tiện ích nó đem lại. Cụ thể:
Open core
Khi các đối thủ của Gitlab chủ yếu là các closed-source, thì đây là một ưu thế cạnh tranh dành cho phần mềm này. 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
Bạn có thể xem và sửa đổi source code của GitLab Community Edition và Enterprise Edition với Opencore bất cứ 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.Bạn có thể thêm các tính năng và thực hiện các tùy chỉnh trên Server hoặc bằng cách giả lập kho lưu trữ của GitLab. 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.
Xây dựng với cộng đồng
Cùng với đóng góp, xây dựng và sự phản hồi tích của của người sử dụng, GitLab đang tích cực xây dựng những phiên bản tốt nhất từ ý kiến của khách hàng để đem đến cho người dùng 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ẽ.
Tính khả thi lâu dài (Viable long term)
GitLab lấy được lòng tin để khẳng định uy tín, 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. GitLab có khả năng sử dụng lâu dài hơn vì có nhiều người cùng xây dựng, 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.
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
Bài viết này, BKNS sẽ hướng dẫn bạn cách cài đặt GitLab trên 2 hệ điều hành thông dụng là Windows và Linux
Hướng dẫn cài đặt GitLab trên Windows
Bước 1: 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 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
Tải và cài đặt GitLab tại https://git-scm.com/download/win
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: Nhấn tổ hợp phím Windows + R gõ CMD và nhấn Enter để truy cập vào command prompt. Tiếp đó bạn nhập code như sau:
cd C:GitLab-Runner
.gitlab-runner.exe install
.gitlab-runner.exe start
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.
Bạn có thể tham khảo hướng dẫn của Gitlab: https://docs.gitlab.com/runner/install/windows.html
Hướng dẫn cài đặt GitLab trên Linux
Cấu hình máy yêu cầu:
- Ubuntu >= 12.03 64-bit
- Một CPU có một hoặc 2 nhân
- RAM: 1GB hoặc 2GB
- Cần kết nối internet
Thao tác thực hiện
Bước 1: Cài đặt và cấu hình
Sudo apt-get install openssh-server
Sudo apt-get install postfix
Bước 2: Tải gói omnibus và cài đặt
Wget https://downloads-packages.s3.amazonaws.com/ubuntu-12.04/gitlab_7.9.2-omnibus-1_amd64.deb
Sudo dpkg –i gitlab_7.9.2-omnibus-1_amd63.deb
Bước 3: Cấu hình GitLab
Sudo gitlab-ctl reconfigure
Bước 4: Vào Hostname và đăng nhập
Username: root
Password:
Lời kết
Bài viết này, BKNS đã giải đáp GitLab là gì và hướng dẫn bạn cài đặt GitLab. Hy vọng rằng bạn nhận thức được những lợi ích mà GitLab đem lại từ đó có thể sử dụng hiệu quả nó. Nếu có bất cứ thắc mắc, đừng ngại để lại bình luận ở bên dưới để được hỗ trợ tư vấn.
Ngoài ra, BKNS còn là nhà cung cấp tên miền, hosting giá rẻ, đăng ký email doanh nghiệp, VPS, SSL, cho thuê Server, thiết kế website SEO… Liên hệ ngay khi có nhu cầu nhé!
Đọc thêm: Git bash là gì? Lợi ích của việc dùng Git bash là gì?