Git là một trong những thành tựu vĩ đại nhất của Linus Torvalds, chỉ sau Linux. Hệ thống kiểm soát phiên bản này cực kỳ hiệu quả cho việc phát triển phần mềm, cộng tác trên các đoạn mã và giải pháp khác. Dù bạn đang xây dựng một website hay tạo một bản phân phối Linux mới, Git luôn là công cụ tuyệt vời cho việc kiểm soát phiên bản, quản lý lịch sử, tạo nhánh (branching) và hoàn thành dự án một cách suôn sẻ. GitHub là một trong những nền tảng phổ biến nhất để lưu trữ các kho Git (Git repositories) và dự án. Nền tảng này rất ấn tượng, nhưng nó thuộc sở hữu của Microsoft và có một gói miễn phí khá hạn chế. Đó là lý do tại sao, bên cạnh việc sử dụng GitHub, tôi đã quyết định thiết lập một trung tâm kho lưu trữ Git của riêng mình bằng Gitea.
GitHub là lựa chọn tuyệt vời cho cộng tác phát triển
Tăng cường hiệu suất khi làm việc nhóm
Git đã thay đổi hoàn toàn cách phát triển phần mềm bằng cách giúp việc cộng tác với người khác trở nên dễ dàng hơn, theo dõi thay đổi, có toàn bộ lịch sử sửa đổi và cung cấp các cách dễ dàng để phân nhánh (fork branches). GitHub ra mắt vào năm 2008, ba năm sau khi Linus Torvalds tạo ra Git vào năm 2005, như một nền tảng lưu trữ web cho các dự án và kho Git. Nơi đây nhanh chóng trở thành điểm đến cho các nhà phát triển và kỹ sư phần mềm để cộng tác và chia sẻ các bản sửa đổi mã nguồn. Mọi thứ vẫn ổn cho đến khi Microsoft quyết định mua lại GitHub vào năm 2018 với giá 7.5 tỷ đô la.
May mắn thay, thương vụ mua lại của Microsoft không tệ như nhiều người ban đầu lo sợ. Công ty đã chọn giữ GitHub mở và miễn phí, tiếp tục thúc đẩy sự phát triển của phần mềm mã nguồn mở. Sau đó, chúng ta đã chứng kiến những đóng góp xuất sắc từ Microsoft thông qua .NET, TypeScript và VS Code, trong đó VS Code là công cụ tôi rất yêu thích và sử dụng trên mọi nền tảng. Chúng ta cũng có một số cải tiến đáng chú ý mà chỉ một tập đoàn công nghệ lớn như Microsoft mới có thể mang lại, điển hình là GitHub Copilot.
Ngoài ra, phải kể đến hạ tầng đám mây rộng lớn của Microsoft, cho phép GitHub phát triển như ngày nay mà không gặp phải những khó khăn lớn hay thời gian ngừng hoạt động đáng kể. Bất kỳ ai cũng có thể tạo tài khoản, đăng nhập và đóng góp cho các dự án bằng cách thực hiện commits, báo cáo lỗi, v.v. Các kho lưu trữ có thể được tạo chỉ trong vài giây, và bạn có thể xuất bản công việc của mình với rất ít nỗ lực.
Gitea mang GitHub về ngôi nhà của bạn
Tự host nền tảng phát triển tối ưu
Tôi đã trình bày những điều khiến GitHub (và hệ thống Git nói chung) trở nên tuyệt vời cho việc phát triển, nhưng tại sao tôi lại muốn rời khỏi nền tảng này và tự host giải pháp của riêng mình? Trước hết và quan trọng nhất, tôi có toàn quyền kiểm soát và sở hữu. Tất cả dữ liệu được lưu trữ trên Gitea đều là của tôi. Nó không được lưu trữ trên một nền tảng nào đó thuộc sở hữu của một tập đoàn công nghệ. Tất cả các kho lưu trữ, dữ liệu người dùng, siêu dữ liệu và mọi thứ khác đều thuộc sở hữu và được kiểm soát bởi tôi. Đây là một trong những lý do tôi rất thích tự host mọi thứ có thể.
Tất cả các kho lưu trữ, dữ liệu người dùng, siêu dữ liệu và mọi thứ khác đều thuộc sở hữu và được kiểm soát bởi tôi.
Vì tôi đang chạy Gitea và đây là một giải pháp mã nguồn mở thay thế, nên không có quảng cáo hay gói đăng ký cao cấp cho các tính năng nâng cao. Những gì bạn thấy là những gì bạn nhận được, và đó chính là gói Git đầy đủ tính năng. Tôi có thể tùy chỉnh Gitea theo ý muốn, bao gồm các quy trình làm việc tùy chỉnh, tiết kiệm chi phí ở quy mô lớn khi mời người khác cộng tác với tôi trong các dự án, và việc tự host kho lưu trữ của riêng bạn cũng không đòi hỏi nhiều. Bất kỳ thứ gì từ một máy tính bảng đơn (SBC) và Raspberry Pi cho đến phần cứng máy chủ doanh nghiệp cũ đều có thể chạy Gitea một cách mượt mà.
Nếu bạn có một số dự án riêng tư muốn giữ nội bộ, việc chạy Gitea có thể là một giải pháp thay thế tuyệt vời cho một nền tảng công khai như GitHub. Là một nền tảng công khai, GitHub rất xuất sắc khi bạn muốn chia sẻ kinh nghiệm của mình với người khác, nhưng việc tự host nền tảng Git của riêng bạn có thể hữu ích cho các dự án riêng tư, công việc đang tiến hành hoặc các ý tưởng cần được hoàn thiện. Muốn có được cả hai mặt tốt nhất? Bạn hoàn toàn có thể sử dụng cả GitHub và Gitea song song.
Cài đặt Gitea là phần dễ nhất
Bạn sẽ bắt đầu hoạt động ngay lập tức
Dù bạn đang chạy Proxmox hay một phiên bản Docker trên PC, bạn đều có thể cài đặt Gitea chỉ với vài cú nhấp chuột (hoặc lệnh gõ). May mắn sở hữu vài máy chủ Proxmox sẵn sàng, tôi đã có thể sử dụng một trong những tập lệnh Proxmox VE Helper-Scripts tuyệt vời để cài đặt và chạy Gitea trên Proxmox. Toàn bộ quá trình cài đặt chỉ mất chưa đầy một phút, đây là minh chứng cho thấy các tập lệnh này tốt đến mức nào và Proxmox mạnh mẽ ra sao với tư cách là một hypervisor.
-
Đăng nhập vào Proxmox.
-
Chạy lệnh sau trong shell để cài đặt Gitea:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/gitea.sh)"
Ảnh chụp màn hình các tùy chọn cài đặt Gitea LXC trên Proxmox VE Helper-Scripts.
-
Nhấn Enter.
Ảnh chụp màn hình lựa chọn vùng lưu trữ (storage pool) khi cài đặt Gitea trên Proxmox.
-
Chọn vùng lưu trữ (storage pool), chọn bằng Spacebar.
-
Nhấn Enter.
-
Tải địa chỉ IP được cung cấp trong trình duyệt yêu thích của bạn. (Đừng quên cổng 3000.)
-
Chọn SQLite làm cơ sở dữ liệu.
-
Nhấp vào Administrator Account Settings.
Ảnh chụp màn hình cấu hình tài khoản quản trị viên (Administrator Account Settings) của Gitea.
-
Nhập thông tin xác thực cho tài khoản chính của bạn.
-
Nhấp vào Install Gitea.
Tôi khuyên bạn nên sử dụng SQLite cho cơ sở dữ liệu vì nó được LXC hỗ trợ tốt. Nếu bạn muốn sử dụng MySQL, bạn sẽ cần cài đặt riêng, có thể là một LXC khác để giữ nó tách biệt. Sau khi nhấp vào “Install Gitea”, bạn sẽ được chào đón bởi trang chủ, và mọi thứ sẽ trông khá trống trải. Nếu bạn đang sử dụng Homepage để giám sát và kiểm soát hệ thống lab tại nhà của mình, tôi rất vui khi báo cáo rằng Gitea có thể được tích hợp vào dashboard của bạn thông qua một widget.
Kết luận
Git và GitHub đã định hình cách chúng ta phát triển phần mềm ngày nay, mang lại khả năng cộng tác vượt trội và quản lý mã nguồn hiệu quả. Tuy nhiên, đối với những ai ưu tiên quyền kiểm soát hoàn toàn dữ liệu, sự riêng tư và khả năng tùy biến cao, Gitea nổi lên như một giải pháp tự host mạnh mẽ và đáng cân nhắc. Với quy trình cài đặt đơn giản, đặc biệt là trên Proxmox, Gitea cho phép bạn dễ dàng thiết lập máy chủ Git cá nhân, giữ toàn quyền sở hữu mọi dự án mà không phải lo lắng về giới hạn gói miễn phí hay vấn đề quyền riêng tư từ các nền tảng bên thứ ba. Hãy cân nhắc tự host Gitea để trải nghiệm sự tự do và linh hoạt tối đa trong việc quản lý kho mã nguồn của bạn. Bạn đã thử tự host Gitea hay bất kỳ dịch vụ công nghệ nào khác chưa? Hãy chia sẻ kinh nghiệm của bạn trong phần bình luận!