Ngày nay, lập trình và các chương trình phát triển phần mềm đang gia tăng. Do đó, nhu cầu về các chương trình được sử dụng trong lĩnh vực này cũng rất cao. Điều này đã tạo ra một môi trường cạnh tranh cao trong thế giới trực tuyến nơi các chương trình lập trình và DevOps khác nhau cạnh tranh để giành được giải thưởng là chương trình được sử dụng nhiều nhất trong lĩnh vực tương ứng của họ. Git là một trong những chương trình này. Kết hợp với trạng thái bình thường mới của làm việc từ xa cho các công việc chủ yếu được thực hiện đằng sau màn hình máy tính, điều này đã dẫn đến nhiều người lưu trữ các chương trình của họ, bao gồm Git trên các máy chủ từ xa. Nếu bạn cũng tìm thấy mình ở danh mục này và muốn cài đặt máy chủ Git của riêng mình, thì đây là nơi bạn cần.
Trong bài viết này, tôi sẽ giải thích Git là gì và đề cập đến những ưu và nhược điểm của nó, sau đó chỉ cho bạn những yêu cầu bạn cần và cách lưu trữ máy chủ Git của riêng mình. Cùng bắt đầu!
Git là gì?
Git là một chương trình DevOps được thiết kế để cho phép các lập trình viên và nhà phát triển xem xét các dự án của họ và thực hiện chúng một cách hiệu quả nhất. Chức năng quan trọng nhất của Git là theo dõi những thay đổi trong mã nguồn theo thời gian. Git là miễn phí và mã nguồn mở và nhận được cập nhật thường xuyên. Điều này khiến Git trở thành một trong những chương trình DevOps lập trình dễ tiếp cận và đáng tin cậy nhất trên thế giới. Mỗi máy tính nơi có một phiên bản Git được cài đặt đều hoạt động như một thư mục kho lưu trữ đầy đủ với lịch sử riêng của tất cả những thay đổi tệp. Sau gần 20 năm phát triển tích cực và hơn 30 bản cập nhật được phát hành cho Git, chương trình hiện chạy trên phiên bản 2.40.0, với nhiều bản cập nhật trong tương lai đang chờ xử lý. Bây giờ hãy tìm hiểu một số trường hợp sử dụng của Git để hiểu rõ hơn tại sao chúng ta muốn cài đặt máy chủ Git ngay từ đầu.
Các trường hợp sử dụng của Git
Trước khi nhanh chóng thiết lập máy chủ Git cục bộ của riêng bạn, hãy tìm hiểu các trường hợp sử dụng chính của Git để hiểu rõ tại sao bạn lại muốn chạy một máy chủ Git.
Sao chép Kho lưu trữ
Nhiều nhà phát triển thích tạo một kho Git trên máy chủ để theo dõi các chương trình và tệp mà họ muốn quản lý. Git cho phép bạn dễ dàng, chỉ cần một vài lệnh cơ bản, sao chép kho Linux kernel hiện tại của bạn và sử dụng nó để tạo một nhật ký thay đổi coherent và hiệu quả hơn chỉ cho những tệp bạn quan tâm. Quy trình này dễ thực hiện và bạn có thể dễ dàng quản lý các dự án lập trình nhỏ hay lớn. Quá trình này còn được gọi là ""phân nhánh"", bởi vì về bản chất bạn tạo một nhánh mới từ kho repository đã tồn tại của bạn.
Quy trình Git
Git Workflow là một trường hợp sử dụng chính khác mà bạn sẽ dùng khi thiết lập máy chủ Git của riêng mình. Bạn có thể sử dụng máy chủ Git cục bộ của mình để tạo hai bộ nhánh bằng quy trình sao chép, trong đó một bộ đại diện cho dự án của bạn, chẳng hạn như một trang web. Sau đó, bạn có thể tạo một máy chủ Git với một nhánh production riêng biệt nơi mọi thay đổi của từng nhà phát triển sẽ được ghi lại và thậm chí có thể được kiểm tra trước khi triển khai. Cách tiếp cận đa lớp này không chỉ tăng cường hiệu quả của bạn mà còn giúp việc theo dõi quy trình phát triển và các thay đổi trở nên cực kỳ dễ dàng.
Hợp nhất
Nhớ lại việc tạo nhánh kho và nhật ký thay đổi của bạn? Như tên gọi của nó, Merging là đối lập hoàn toàn của thao tác đó. Trong merging, được coi rộng rãi là khía cạnh thách thức nhất của Git, chúng ta tìm cách đưa dữ liệu từ một nút nhánh repository quay lại kho chính từ đó nó được tách ra ban đầu. Điều này thường được thực hiện để tạo một máy chủ Git với một báo cáo dự án toàn diện và lịch sử thay đổi bao gồm tất cả các thay đổi dự án từ các khu vực khác nhau trong một kho duy nhất và dễ hiểu. Trong khi trong quá trình dự án bạn cần nhánh để tránh nhầm lẫn, merging được thiết kế để đảo ngược hành động đó và cung cấp một bức tranh tổng thể rõ ràng hơn ở cuối dự án khi khắc phục sự cố.
Tự Hosting Máy chủ Git của Bạn: Ưu và Nhược Điểm
Mỗi chương trình đều có một bộ ưu và nhược điểm quan trọng mà người dùng muốn tìm hiểu trước khi bắt đầu sử dụng chương trình đó. Trong phần này, tôi sẽ thảo luận về ưu và nhược điểm áp dụng cho Git. Tuy nhiên, những ưu và nhược điểm này chỉ áp dụng nếu bạn tự hosting nó, đó là nội dung chính của hướng dẫn này.
Git Tự Hosting: Ưu Điểm
Không Có Sự Tham Gia Của Bên Thứ Ba
Với Git tự hosting, chỉ có bạn và những người bạn thấy mới có khả năng truy cập các tệp của bạn. Điều này về cơ bản loại bỏ mọi sự tham gia không mong muốn của bên thứ ba và để bạn thực hiện dự án của mình một cách yên tâm. Dữ liệu của bạn cũng sẽ an toàn hơn rất nhiều và bạn có thể phân bổ các tài nguyên mà bạn dự định dành cho bảo mật ở nơi khác.
Bảo mật
Nói đến bảo mật, Git có thể được bảo vệ tốt như bạn muốn thông qua các thực tiễn tốt nhất và triển khai các công cụ của bên thứ ba. Mặc dù mức độ bảo mật giảm khi bạn tự hosting thay vì sử dụng dịch vụ, nhưng có gần như vô hạn tự do trong cách bạn có thể bảo vệ hoạt động của riêng mình.
Kho Lưu Trữ Không Giới Hạn
Nhớ sao chép và tạo nhánh? Không có giới hạn về số lượng repository mà bạn có thể tạo với Git. Điều này làm cho nó rất phù hợp cho các dự án lớn hơn nơi mỗi nhánh phát triển cần kho riêng của nó. Nó cũng tuyệt vời cho các dự án có tệp lớn như tài sản 3D và các trường hợp bạn làm việc với Unity.
Git Tự Hosting: Nhược điểm
Nỗ Lực Quản Lý Cao
Kho Git có thể nhanh chóng trở nên khó kiểm soát nếu bạn quyết định cấu hình máy chủ Git trên nền tảng tự hosting của riêng mình. Quản lý tất cả các nhánh và metadata có thể nhanh chóng trở thành một rắc rối. Vì vậy, bạn cần phải cực kỳ cẩn thận hoặc thuê một lập trình viên có kỹ năng để làm điều đó cho bạn.
Đường Cong Học Tập Dốc
Một điều là hosting Git, nhưng để nắm vững nó và chạy máy chủ Git cục bộ của bạn thì hoàn toàn khác. Git có lẽ có một trong những mức độ kỹ năng cao nhất trong bất kỳ chương trình DevOps dựa trên repository nào và bạn cần phải dành nhiều thời gian để học nó hoặc thuê ngoài.
Không Có GUI và Hỗ Trợ Windows
Bạn có muốn thiết lập máy chủ Git trên Windows không? Hoặc có thể bạn muốn cấu hình máy chủ Git để chạy với GUI? Xin lỗi, không được. Bạn chỉ có thể sử dụng các hệ điều hành có kernel Linux làm mã cơ sở, và không có GUI để giúp bạn. Bạn muốn cài đặt máy chủ Git và tự hosting? Tốt hơn là học những kiến thức cơ bản về lập trình.
Phương Pháp Lỗi Thời
Theo mọi tiêu chí có thể tưởng tượng, sử dụng Git trên máy chủ tự hosting dường như lỗi thời và bị vượt qua bởi các phương pháp chạy Git hiệu quả hơn khác. Các ví dụ chính về quy trình chạy Git hiệu quả hơn sẽ là chạy GitLab, vì vậy trước khi bạn quyết định chạy máy chủ Git của riêng mình, hãy xem qua GitLab cũng!
Yêu Cầu Cần Thiết để Cài Đặt Máy Chủ Git
Bây giờ hãy nhanh chóng xem qua các yêu cầu cần thiết để thiết lập máy chủ Git và hosting máy chủ Git của riêng bạn. Để host Git, bạn chỉ cần hai thành phần: một máy chủ và một bản sao Git, cùng với một chút kiến thức lập trình để thực hiện quy trình cấu hình máy chủ Git.
Máy chủ Git
Về máy chủ, bạn có thể sử dụng một PC khác của riêng bạn, sử dụng máy chủ riêng từ các nhà cung cấp truyền thống, hoặc nếu bạn thích một cách tiếp cận thực tế hơn, hãy sử dụng một VPS đám mây (máy chủ riêng ảo). Bằng cách có VPS, bạn có thể trực tiếp quản lý máy chủ và vận hành bản sao Git cùng lúc. Lưu ý rằng máy chủ của bạn cần có bản phân phối Linux trên nó để thiết lập máy chủ Git. Cloudzy cung cấp một loạt rộng rãi các Linux VPS dịch vụ với hơn 10 bản phân phối Linux nổi tiếng như Ubuntu, Debian, CentOS, Kali và OpenSUSE. Chỉ từ 4,95 USD mỗi tháng, bạn có thể nắm bắt được một máy chủ Linux đáng tin cậy gần vị trí của bạn để đảm bảo chất lượng kết nối tuyệt vời và sử dụng nó để tự hosting và chạy máy chủ Git!
Lấy cho mình một Linux VPS loại tiết kiệm hoặc cao cấp để lưu trữ trang web hoặc máy tính để bàn từ xa, với giá rẻ nhất hiện có. VPS Chạy trên Linux KVM để tăng hiệu quả và hoạt động trên phần cứng mạnh mẽ với bộ nhớ NVMe SSD để tăng tốc độ.
Đọc thêmPhiên bản Git
Cài đặt Git server rất đơn giản - chúng tôi sẽ tự động hoàn tất trong quá trình cài đặt. Git là phần mềm mã nguồn mở và hoàn toàn miễn phí, đó là lý do nó được ưa chuộng hơn nhiều công cụ quản lý kho lưu trữ khác. Giờ hãy bắt đầu hướng dẫn từng bước để cài đặt Git server trên Linux của bạn!
Cài Đặt Git Server Trên Linux (Hướng Dẫn Từng Bước)
Bước 1: Tải Xuống Và Cài Đặt Git
Đây là bước đầu tiên. Mở terminal trên distro Linux của bạn và chạy lệnh sau để tải Git:
Distro Dựa Trên Ubuntu/Debian:
sudo apt install git
Distro Dựa Trên Arch:
sudo pacman -S git
Distro Dựa Trên RHEL:
sudo dnf install git
Lệnh này sẽ tải xuống và cài đặt Git trên server Linux của bạn. Chờ quá trình hoàn tất.
Bước 2: Đăng Ký Và Cấu Hình Git Server
Nếu bạn có server cục bộ trên máy tính khác, hãy khởi động nó. Nếu không, sử dụng SSH hoặc RDP để kết nối từ xa đến server Linux. Bây giờ chúng ta sẽ cấu hình Git server để chạy từ xa. Tạo một tài khoản Git bằng lệnh sau:
ssh username@address
sudo useradd git
Rồi chạy lệnh này để chuyển sang tài khoản vừa tạo:
su git
Bước này đảm bảo an toàn cho Git server cục bộ của bạn. Với tài khoản này, bạn sẽ là admin của server. Bạn có thể tổ chức các người dùng trong các nhóm với các giới hạn và quyền truy cập được xác định trước.
Bước 3: Tạo Thư Mục SSH Và Tạo Git Repository Trên Server
Bước tiếp theo là tạo một thư mục SSH riêng để lưu trữ khóa công khai và tạo một Git repository trên server với các lớp bảo mật bổ sung và mức truy cập được xác định. Bắt đầu bằng lệnh sau:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Sau khi giới hạn quyền truy cập, chạy lệnh tiếp theo để đảm bảo khóa SSH của bạn được lưu trữ an toàn trong authorized_keys folder, chỉ bạn có thể truy cập (chỉ chạy lệnh này nếu bạn CHƯA có id_rsa.pub tệp):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Cuối cùng, sao chép khóa công khai SSH để thiết lập kết nối SSH mới với bảo mật tăng cường đến Git server cục bộ của bạn:
cd .ssh
vi authorized_keys
Bước 4: Tạo Thư Mục Chính
Trên server Linux, bạn cần tạo một thư mục mới để lưu trữ tất cả các repository mà Git sẽ sử dụng trong các dự án tương lai. Chạy lệnh này:
mkdir directory_name
Bước 5: Thêm Dự Án Của Bạn!
Bạn đã cài đặt thành công Git server! Quá trình cài đặt và cấu hình hoàn tất. Bây giờ chỉ cần thêm các dự án bổ sung bằng lệnh sau:
cd parent_directory
mkdir new_project.git
Rồi chạy lệnh này để thêm remote origin vào máy tính cục bộ của bạn:
git init --bare
git remote add origin name git@address:new_project.git
Tiếp theo, thực hiện Git push để kiểm tra xem mọi thứ có hoạt động như dự kiến:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Chúc mừng, bạn đã thiết lập thành công Git và tạo kho lưu trữ Git trên máy chủ.
Câu hỏi thường gặp
Có thể lưu trữ Git mà không cần máy chủ không?
Không. Dù máy chủ của bạn ở dạng nào, bạn vẫn cần phần cứng để hoạt động như máy chủ. Bạn có thể sử dụng GitHub làm máy chủ đám mây cho các kho lưu trữ của mình hoặc sử dụng các VPS gói dịch vụ của chúng tôi hoặc một dịch vụ lưu trữ bên thứ ba khác để đóng vai trò máy chủ.
Có cách nào để cài đặt máy chủ Git với giao diện đồ họa không?
Có. Mặc dù Git tự nó không hỗ trợ giao diện đồ họa, nhưng có một phiên bản độc lập với giao diện đồ họa được gọi là "Git GUI" dành cho những người không thể sống thiếu giao diện đồ họa.
Git có kế hoạch thanh toán không?
Không. Git luôn là một chương trình miễn phí và mã nguồn mở như các nhà phát triển và nhà xuất bản ban đầu đã phản ánh. Vì vậy, bạn có thể sử dụng chương trình này như một công cụ phái sinh cho phát triển chương trình của mình, ngoài ra chương trình này hoàn toàn miễn phí.
Tại sao nên tự lưu trữ máy chủ Git của riêng bạn?
Giả sử bạn đang tìm cách chạy một dự án nhỏ với số lượng kho lưu trữ hạn chế. Trong trường hợp đó, tự lưu trữ sẽ riêng tư và an toàn hơn nhiều. Đó là lý do chính. Nhưng khi bạn chuyển sang các dự án lớn hơn với nhiều kho lưu trữ hơn, tự lưu trữ sẽ bắt đầu mất hiệu quả.