2010-05-10 22 views
29

Tôi đang sử dụng GitHub để phát triển một plugin Eclipse. Tôi muốn có một trang web cập nhật Eclipse công khai cho plugin của tôi. Tôi có thể sử dụng GitHub cho việc này không?Có thể lưu trữ một trang cập nhật Eclipse trên Github không?

Tôi biết rằng GitHub có thể được sử dụng để lưu trữ các tệp riêng lẻ bằng cách sử dụng các liên kết "thô" được cung cấp trên các trang thông tin tệp.

+0

http://stackoverflow.com/a/14916525/6309 giờ đây có thể trợ giúp, có thể là bản cập nhật p2 đã nén? Tôi đề cập rằng trong [câu trả lời đã chỉnh sửa của tôi bên dưới] (http://stackoverflow.com/a/2801996/6309). – VonC

Trả lời

9

Trang Github không phải là địa điểm thích hợp cho trang web cập nhật.

Github pages có thể không phân phối đúng tệp nhị phân lớn như được giải thích trong số issue này. Nó có thể là tốt nếu bình của bạn là nhỏ nhưng tổng thể họ khuyên không nên đặt nhị phân ở đó. Thay vào đó, họ khuyên bạn nên đặt các tệp nhị phân trong phần tải xuống của kho lưu trữ. Tôi muốn được hạnh phúc nếu tình trạng này thay đổi bởi vì nó sẽ rất thuận tiện để xuất bản một trang web cập nhật bằng cách đẩy vào github.

Hiện tại, người dùng phải sử dụng API để tải lên các tệp có lập trình trong phần tải xuống. Câu trả lời cho this other question trỏ đến một số thư viện và tập lệnh sử dụng số này API để sử dụng trong java/maven, perl, ruby, v.v.

5

Bây giờ bạn có thể dùng thử tại trang phát hành (tháng 7 năm 2013).

Xem "Publish a project release (binary/source packages) on Github?"


Original câu trả lời (January 2013)

tôi đã không kiểm tra nó, nhưng về mặt kỹ thuật, một kho lưu trữ p2 có thể được định nghĩa trong bất kỳ đường dẫn chia sẻ (hoặc hệ thống tập tin được chia sẻ hoặc web-based-chia sẻ)

Bạn chỉ nên cần phải:

+4

Vấn đề tôi gặp phải là github phục vụ các thư mục và tập tin dưới dạng các trang HTML. Để truy cập nội dung của tệp, có liên kết "thô". Tuy nhiên, trang web cập nhật của tôi được tạo thành từ một số tệp và thư mục vì vậy tôi nghĩ rằng tôi cần phải tìm cách để lấy thư mục "thô" từ github. Ngoài ra, một trang web cập nhật có thể được tạo trong tệp nén mà tất cả các tệp được lưu trữ trong một tệp lưu trữ duy nhất không? – mchr

+0

@mchr: Tôi không nghĩ trang web cập nhật có thể là một tệp zip duy nhất. Đối với danh sách thư mục thô, đó là câu hỏi hay cho http://support.github.com/: http://support.github.com/discussions/site/1444-downloaded-filename-for-rawtrue-links có thể help: thay thế 'tree' bằng 'raw' trong địa chỉ GitHub của bạn. – VonC

+0

Có vẻ như nếu bạn sử dụng thư mục gốc của kho lưu trữ và sử dụng "thô" trong url, như @BrunoMedeiros gợi ý trong câu trả lời của mình, trang web cập nhật hoạt động tốt. – Eyal

4

http://pages.github.com/

Tính năng Github Pages cho phép bạn lưu trữ các thư mục tùy ý các tập tin mà không git biến mỗi tập tin vào một trang github.

+0

Trang Github không phải là địa điểm thích hợp cho trang web cập nhật. Xem câu trả lời của tôi dưới đây. Nó có thể là tốt nếu bình của bạn là nhỏ nhưng tổng thể họ khuyên không nên đặt nhị phân ở đó. – fmjrey

1

Không còn nữa, API tải xuống has officially been deprecated.

Từ blog GitHub:

Tuy nhiên, một số dự án cần phải lưu trữ và phân phối các tập tin nhị phân lớn, thêm vào tài liệu lưu trữ nguồn. Nếu điều này áp dụng cho bạn, chúng tôi khuyên bạn nên sử dụng một trong nhiều dịch vụ tuyệt vời tồn tại chính xác cho mục đích này như Amazon S3/Amazon CloudFront hoặc SourceForge. Xem bài viết trợ giúp của chúng tôi về phân phối các tệp nhị phân lớn.

Xem này help article on distributing large binaries.

10

Hãy quên tính năng phát hành dự án Github, tính năng này sẽ không hoạt động như một trang web cập nhật thực sự (xem ghi chú ở cuối).

Để đạt được những gì bạn muốn, bạn có thể tạo repo Github, cam kết/đẩy kho p2 của bạn ở đó và sau đó dùng nó làm trang cập nhật, sử dụng liên kết thô. Vì vậy, ví dụ, đối với các kho lưu trữ:

https://github.com/some-user/some-repository/

bạn có thể phục vụ nó như một trang web cập nhật bằng cách sử dụng liên kết:

https://github.com/some-user/some-repository/raw/master/

Ghi chú: Có, nếu bạn mở link cập nhật trang web trong một trình duyệt, github sẽ cung cấp cho bạn không có danh sách tập tin, mà là một 404. Nhưng đó là tốt. Cơ chế trang web cập nhật Eclipse không cần liên kết cha để hợp lệ. Thay vào đó Eclipse sẽ trực tiếp tìm kiếm <update-site URL>/artifacts.jar (hoặc .xml) và từ thông tin trong artifacts.jar, nó sẽ tự khám phá các URL của các tạo phẩm khác được lưu trữ trong trang web cập nhật. AFAIK, không có lúc nào cơ chế cập nhật Eclipse cần máy chủ web để thực hiện các danh sách tệp của một thư mục.

Lưu ý 2: nếu bạn sử dụng bản phát hành dự án Github, bạn chỉ có thể đính kèm kho nén p2 đã nén vào đó. Đó không phải là một trang web cập nhật đúng bởi vì nó là một kho lưu trữ tĩnh: không có URL mà các phiên bản mới có thể được tải lên. Eclipse sẽ không thể tự động khám phá các bản cập nhật mới, thay vào đó người dùng sẽ cần tải xuống mã zip cho mỗi bản phát hành mới mà họ muốn cập nhật. (Ngoài ra với một trang web cập nhật thích hợp, chỉ có các đồ tạo tác cần thiết để cài đặt/cập nhật/truy vấn sẽ được tải xuống - một lợi thế nhỏ)

+3

Lưu ý về các kho lưu trữ lớn và sử dụng Github. Liên kết này mô tả những gì Github mong đợi các giới hạn là: https://help.github.com/articles/what-is-my-disk-quota - "Quy tắc ngón tay cái: 1GB trên mỗi kho lưu trữ, 100MB cho mỗi tệp". Điều đó sẽ tốt cho hầu hết các trang web cập nhật Eclipse. Nếu nó quá lớn, bạn có thể đặt lại repo Git cơ bản. – BrunoMedeiros

+0

Cảm ơn bạn đã chia sẻ về các liên kết thô để phục vụ thư mục github công khai. –

+0

Tôi đã thử điều này (đây là [trang web cập nhật của tôi] (https://github.com/eyala/pig-eclipse-update-site)) nhưng có vẻ như, đủ kỳ quặc, điều này làm việc cho Eclipse trên Linux, nhưng từ Windows máy tính tôi không thể cài đặt và cập nhật. Có ai khác trải qua điều này? – Eyal

1

Tôi có thể lưu trữ trang web cập nhật Eclipse bằng tính năng GitHub pages. Tôi thấy rất khó để tìm ra tất cả các phần tôi cần, vì vậy đây là một mô tả ngắn gọn về các bước tôi theo sau.

  • Xây dựng dự án trình cắm thêm Eclipse của bạn và thử nghiệm nó trên máy trạm cục bộ của bạn.
  • Thêm feature project và thêm phích cắm của bạn. Đồng thời đặt thông tin mô tả, bản quyền và giấy phép.
  • Tạo chi nhánh gh-pages. Một cách để làm điều đó là truy cập trang cài đặt GitHub và khởi động trình tạo trang tự động.
  • Sao chép bản sao kho lưu trữ mới của bạn và kiểm tra chi nhánh gh-pages. Tạo một dự án Eclipse chung để chỉnh sửa các trang web.
  • Tạo dự án trang web cập nhật được lồng trong chi nhánh gh-pages và dự án chung của nó. Đặt nó vào một thư mục rõ ràng, như update.
  • Tạo danh mục và thêm đối tượng địa lý vào dự án cập nhật.
  • Nhấp vào nút Xây dựng tất cả để tạo tệp jar.
  • Cam kết và đẩy tất cả thay đổi vào master và chi nhánh gh-pages.
  • Thử cài đặt từ trang web cập nhật.
  • Khi trang web cập nhật hoạt động, bạn có thể xuất bản plugin của mình trong số Eclipse marketplace. Đây là tùy chọn, nó chỉ làm cho cắm của bạn dễ tìm hơn.

Như những người khác đã đề cập, các trang GitHub không hỗ trợ tệp nhị phân lớn, vì vậy điều này sẽ chỉ hoạt động đối với các dự án nhỏ. Để xem ví dụ, hãy xem Live Coding in Python project của tôi.

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