Các nhà phát triển tranh luận về thách thức di chuyển từ GitHub khi Codeberg trở thành lựa chọn thay thế được chú ý

Nhóm Cộng đồng BigGo
Các nhà phát triển tranh luận về thách thức di chuyển từ GitHub khi Codeberg trở thành lựa chọn thay thế được chú ý

Cộng đồng nhà phát triển đang tích cực thảo luận về thực tế việc di chuyển khỏi GitHub , được khởi xướng bởi một hướng dẫn chi tiết về việc chuyển sang Codeberg . Mặc dù quá trình di chuyển có vẻ đơn giản, nhưng một số thách thức về kỹ thuật và cơ sở hạ tầng đang tạo ra ma sát đáng kể cho nhiều dự án.

Tổng quan về Quy trình Di chuyển

Các Bước Di chuyển từ GitHub sang Codeberg:

  • Tạo personal access token trên GitHub với quyền truy cập repository
  • Thiết lập tài khoản Codeberg và chạy quá trình di chuyển repository
  • Lưu trữ các repository gốc trên GitHub
  • Cập nhật remote Git cục bộ để trỏ đến Codeberg
  • Cấu hình SSH keys (yêu cầu RSA 4096 hoặc ed25519, không phải RSA 2048)

Hỗ trợ Actions tạo ra rào cản lớn trong việc di chuyển

Một trong những trở ngại lớn nhất mà các nhà phát triển phải đối mặt khi cân nhắc lựa chọn thay thế GitHub là sự hỗ trợ Actions hạn chế trong các nền tảng như Codeberg . Không giống như cơ sở hạ tầng CI/CD mạnh mẽ của GitHub , Codeberg yêu cầu người dùng tự mang runners cho các quy trình làm việc tự động. Hạn chế này đặc biệt ảnh hưởng đến các dự án mã nguồn mở phụ thuộc nhiều vào việc kiểm thử tự động, xây dựng tài liệu và pipeline triển khai.

Trách nhiệm về cơ sở hạ tầng đi kèm với việc tự quản lý runners đang làm nhiều nhà phát triển ngần ngại, những người không muốn quản lý thêm cơ sở hạ tầng máy chủ. Đối với các dự án có quy trình xây dựng phức tạp hoặc nhiều quy trình làm việc tự động, điều này đại diện cho một gánh nặng vận hành đáng kể mà dịch vụ Actions được quản lý của GitHub loại bỏ.

So sánh Nền tảng

Những Khác biệt Chính giữa GitHub và Codeberg:

  • Hỗ trợ Actions: GitHub có managed runners trong khi Codeberg yêu cầu self-hosted runners
  • Hosting Pages: GitHub hỗ trợ triển khai branch/ Actions trong khi Codeberg yêu cầu nội dung tại thư mục gốc của repository
  • Hạ tầng: GitHub được quản lý hoàn toàn trong khi Codeberg /self-hosted yêu cầu nhiều bảo trì hơn
  • Huấn luyện AI: GitHub huấn luyện trên mã nguồn công khai trong khi Codeberg được vận hành bởi tổ chức phi lợi nhuận Đức với các chính sách khác nhau

Cộng đồng đặt câu hỏi về động cơ di chuyển

Cuộc thảo luận xung quanh việc di chuyển đã tiết lộ những quan điểm khác nhau về lý do cơ bản để rời khỏi GitHub . Một số nhà phát triển đặt câu hỏi liệu những lo ngại được nêu ra về thực tiễn bảo mật của Microsoft và việc huấn luyện AI trên các kho mã công khai có biện minh cho nỗ lực di chuyển hay không, đặc biệt là khi việc huấn luyện mã bởi các mô hình AI xảy ra trên khắp internet bất kể nền tảng lưu trữ nào.

Tuy nhiên, những người khác chỉ ra những phát triển gần đây cụ thể hơn, bao gồm việc GitHub thúc đẩy tích hợp AI và các sự cố cụ thể liên quan đến dữ liệu kho lưu trữ riêng tư. Cuộc tranh luận làm nổi bật cách các nhà phát triển cá nhân cân nhắc các mối quan tâm đạo đức với sự tiện lợi thực tế một cách khác nhau.

Các giải pháp lưu trữ thay thế xuất hiện

Cuộc trò chuyện cũng đã thu hút sự chú ý đến các lựa chọn thay thế GitHub khác ngoài Codeberg . Các giải pháp tự lưu trữ như Gitea đang được công nhận vì tính đơn giản và tính năng hoàn chỉnh. Gitea cung cấp cài đặt binary đơn với yêu cầu cấu hình tối thiểu, làm cho nó hấp dẫn đối với các tổ chức muốn kiểm soát hoàn toàn các kho mã của họ.

Đối với một giải pháp tự lưu trữ, tôi khuyến nghị gitea : đó là một binary go đơn lẻ cần gần như không cần cài đặt, chỉ cần một tệp cấu hình, nó rất nhanh, cập nhật hoạt động tuyệt vời, và có tất cả các tính năng của GitHub mà bạn yêu thích.

Một số nhà phát triển cũng đang khám phá các giải pháp thử nghiệm hơn như Radicle , mặc dù kinh nghiệm của cộng đồng với các nền tảng mới hơn này cho các dự án sản xuất vẫn còn hạn chế.

Các Nền Tảng Thay Thế Được Đề Cập

Các Lựa Chọn Tự Lưu Trữ:

  • Gitea: Tệp nhị phân Go đơn lẻ, cấu hình tối thiểu, cập nhật nhanh, hỗ trợ LDAP
  • Forgejo: Kho lưu trữ Git mã nguồn mở, Codeberg là phiên bản hàng đầu
  • Radicle: Hệ thống kiểm soát phiên bản phân tán thử nghiệm (kinh nghiệm sản xuất hạn chế)

Thông Số Kỹ Thuật Codeberg:

  • Được vận hành bởi Codeberg e.V. (tổ chức phi lợi nhuận Đức)
  • Tuân thủ bảo vệ dữ liệu EU
  • Hỗ trợ di chuyển kho lưu trữ từ GitHub , GitLab và các dịch vụ khác

Đơn giản hóa lưu trữ trang web tĩnh

Một khía cạnh thú vị của cuộc thảo luận di chuyển liên quan đến việc suy nghĩ lại các chiến lược triển khai web. Cách tiếp cận Codeberg Pages , mặc dù khác với GitHub Pages , đã thúc đẩy một số nhà phát triển xem xét lại liệu các pipeline CI/CD phức tạp có cần thiết cho việc tạo trang web tĩnh đơn giản hay không.

Cách tiếp cận được đề xuất sử dụng Git submodules và các script shell cơ bản thay vì các quy trình làm việc Actions nặng YAML đại diện cho việc trở lại với các phương pháp triển khai đơn giản hơn. Triết lý này đặt câu hỏi liệu ngành công nghiệp có thiết kế quá mức các giải pháp cho các tác vụ đơn giản như xây dựng và triển khai các trang web tĩnh hay không.

Cuộc thảo luận đang diễn ra phản ánh một căng thẳng rộng hơn trong cộng đồng nhà phát triển giữa sự tiện lợi và kiểm soát, làm nổi bật cách các phụ thuộc nền tảng có thể tạo ra các hiệu ứng khóa mở rộng ra ngoài việc lưu trữ mã đơn giản để bao gồm toàn bộ quy trình làm việc phát triển và thực tiễn vận hành.

Tham khảo: HOW AND WHY TO DITCH GITHUB