2012-04-27 52 views
64

thực tiễn tốt nhất về phân phối các tệp nhị phân từ dự án github là gì?thực tiễn tốt nhất về phân phối các tệp nhị phân từ dự án github là gì?

tôi có thể nghĩ:

  • Tạo một thư mục bin trong dự án của bạn, nơi bạn giữ một bản sao của tập tin nhị phân. Tuy nhiên, github có nghĩa là để lưu trữ mã nguồn và không nhị phân Lưu trữ lớn và thường xuyên thay đổi nhị phân có thể tốn kém qua không gian đĩa và băng thông?
  • Tải bản sao của tệp nhị phân lên github pages của dự án hoặc sử dụng trang web riêng để lưu trữ tệp nhị phân của bạn. Tuy nhiên, điều đó không phải lúc nào cũng khả thi và yêu cầu nhiều hơn (tay) hoạt động để giữ các tệp nhị phân được cập nhật, tôi muốn tự động cập nhật các tệp nhị phân hoặc với một hành động đơn lẻ .
+0

Câu hỏi này là về nơi để lưu trữ tập tin nhị phân, và tắt chủ đề kiến ​​nghị đưa vào nơi để lưu trữ các file – random

Trả lời

17

Điều hiển nhiên đối với tôi là điều quan trọng là không phải để lưu trữ các tệp nhị phân trong chính dự án github của bạn. Vì vậy, bạn sẽ cần phải lưu trữ các tệp nhị phân ở nơi khác. Các giải pháp có thể xảy ra mà tôi gặp phải là:

  • Lưu trữ các nhị phân trong một mô-đun con riêng biệt (dalores idea). Nó có ý nghĩa để lưu trữ chúng trong các dự án của bạn github pages, mà bạn sử dụng để lưu trữ trang web dự án của bạn thông qua github.
  • Nếu bạn chỉ có một vài tệp nhị phân hoặc tệp zip, bạn có thể tải chúng lên github thông qua Tải xuống -> Tải lên tệp mới. Tính năng này khá hạn chế, bạn không thể đặt các tập tin trong các thư mục có cấu trúc.
  • Trong trường hợp tệp jar java, có các giải pháp ngoài đó như Nexus để quản lý thư viện của bạn.
  • Store mã nhị phân trên một trang web hoàn toàn riêng biệt mà bạn lưu trữ cho mình
+6

Tại sao điều quan trọng là không lưu trữ các tệp nhị phân trong chính dự án github của bạn? –

+0

mã nguồn của bạn thường được phát triển liên tục, có rất nhiều cam kết và thay đổi nhỏ mọi lúc. Mặt khác, các tệp nhị phân được tạo ra từ các phiên bản ổn định của mã mà bạn không bao giờ thay đổi sau khi được phát hành. Và đối với các tệp nhị phân bạn muốn có một danh sách liệt kê tất cả các phiên bản đã phát hành, không chỉ là phiên bản mới nhất. Nó hoàn toàn ngược lại với nhau. –

+1

Tải lên GitHub hiện không được chấp nhận. Xem https://github.com/blog/1302-goodbye-uploads – akaihola

2

Loại nhị phân nào? Các tệp nhị phân phải đến từ nguồn tại một số điểm đúng không?

Vì vậy, hãy thêm nguồn xây dựng các tệp nhị phân đó dưới dạng mô-đun con trong git. Sau đó, trong quá trình xây dựng của bạn, hãy xây dựng các tệp nhị phân đó trước khi tạo nguồn của bạn. Các mô-đun con được giữ đồng bộ với một phiên bản cụ thể của nguồn bạn biết rằng các công trình. Bạn cũng có được lợi ích của việc có thể gỡ lỗi dễ dàng hơn vì bạn có nguồn.

Trừ khi các tệp nhị phân là hình ảnh, v.v, sau đó chỉ lưu trữ những hình ảnh đó.

Nếu không gian là vấn đề sử dụng bitbucket vì chúng có không gian không giới hạn.

+0

Tôi có ví dụ như một thư viện java (jar) được tạo ra từ một dự án java. Tôi cần lưu trữ thư viện này sao cho nó có thể tải xuống cho người dùng của lib mà không phải tự xây dựng bản thân. Tôi cũng cần phải lưu trữ các phiên bản khác nhau của bình (1.3.0, 1.3.1, 1.4.0, vv) khi phát triển tiếp tục. –

+1

Đối với các tệp jar, bạn không thể lưu trữ nó trong nexus và sử dụng maven để tải xuống các phụ thuộc? Đó là cách java tiêu chuẩn. Xem http://stackoverflow.com/questions/3329041/best-practice-to-store-jar-files-in-vcs-svn-git – dalore

+0

Cảm ơn điều đó có ý nghĩa. Vì vậy, ít nhất nó là rõ ràng là tốt hơn là không lưu trữ lọ và nhị phân trong git chính nó, nhưng sử dụng một giải pháp bên ngoài. –

56

Tính đến ngày 11 tháng 12 năm 2012 các Downloads feature on GitHub is deprecated. Các bài viết Distributing large binaries khuyến cáo sử dụng một dịch vụ bên ngoài:

Chúng tôi khuyên Amazon S3 cho việc lưu trữ kết hợp với CloudFront phục vụ qua CDN, hoặc các dịch vụ khác như SourceForge.


Tuy nhiên, since 2d July 2013, bây giờ bạn có thể xác định một thông cáo.

Phát hành, quy trình làm việc để vận chuyển phần mềm cho người dùng cuối.
Bản phát hành là các đối tượng hạng nhất với các thay đổi và nội dung nhị phân trình bày toàn bộ lịch sử dự án ngoài các tạo phẩm Git. Họ đang truy cập từ trang chủ của kho:

homepage

  • phát hành được kèm theo ghi chú phát hành và các liên kết để tải về các phần mềm hoặc mã nguồn.
  • Theo các quy ước của nhiều dự án Git, bản phát hành được gắn với thẻ Git. Bạn có thể sử dụng thẻ hiện tại hoặc để bản phát hành tạo thẻ khi được xuất bản.
  • Bạn cũng có thể đính kèm nội dung nhị phân (chẳng hạn như tệp thi hành được biên dịch, tập lệnh được rút gọn, tài liệu) vào bản phát hành. Sau khi được xuất bản, chi tiết và nội dung phát hành có sẵn cho bất kỳ ai có thể xem kho lưu trữ.

release

+0

"trang github" là công khai. "github release" yêu cầu tài khoản github. :-( –

Các vấn đề liên quan