Tôi có thể xuất bản một gói NuGet riêng không?


107

Tôi có một bộ phận lắp ráp mà tôi đã thực hiện rất cụ thể cho nhóm của tôi tại công ty của tôi. Tôi muốn có thể sử dụng NuGet để làm cho việc lắp ráp này khả dụng với các dự án khác mà nhóm của tôi và các nhóm tương tự tại công ty của tôi đang thực hiện. Tuy nhiên, lắp ráp không thực sự là mã mà tôi muốn chia sẻ với mọi người.

Tôi biết với Maven, bạn có thể tạo kho lưu trữ cục bộ và gói nguồn từ kho lưu trữ cục bộ. NuGet có hỗ trợ chức năng tương tự không? Có cách nào với NuGet để chỉ định kho lưu trữ cục bộ hoặc có các gói riêng tư không?

Câu trả lời:


92

Đúng! Bạn có thể lưu trữ máy chủ NuGet của riêng mình!

Cách dễ nhất là tạo một thư mục được chia sẻ trên máy chủ của bạn và tham chiếu nó như Máy chủ Nuget của bạn.

Bạn có thể tìm thêm thông tin về cách thực hiện điều đó tại: Lưu trữ Nguồn cấp NuGet của Chính bạn


3
Tại liên kết ở trên, cuộn xuống phần 'Tạo Nguồn cấp dữ liệu Từ xa' nếu bạn đang muốn tạo một máy chủ thực tế, có thể truy cập qua HTTP, để lưu trữ các hội đồng của mình.
Kevin Kalitowski

6
Mặc dù đây có lẽ là cách dễ nhất, nhưng nó có nghĩa là bạn phải chia sẻ thư mục với mọi người và bất kỳ ai có quyền truy cập đều có thể (vô tình hoặc không) nóng nảy với nội dung của nó. Một cách tốt hơn (nhưng đơn giản) là tạo máy chủ của riêng bạn bằng cách sử dụng NuGet.Servervà lưu trữ là trong IIS hoặc Azure. Sau đó, bạn sẽ có thể đẩy các gói bằng khóa API và bất kỳ ai cũng có thể đăng ký nguồn cấp dữ liệu. Đây là hướng dẫn đơn giản để tạo máy chủ NuGet của riêng bạn .
Alex Sanséau

Làm việc như người ở!
Andro

Tôi đã từng gặp vấn đề tương tự. và tìm thấy những điều sau đây: Scott: hanselman.com/blog/... thêm: nicolaiarocci.com/...
Michael Mittermair

21

Một tùy chọn khác để lưu trữ máy chủ NuGet của riêng bạn là sử dụng JetBrains TeamCity làm máy chủ xây dựng. Thiết lập được mô tả ở đây .

Máy chủ của Team City hoạt động như một kho lưu trữ NuGet mà sẽ / có thể / chỉ có thể truy cập được trong công ty của bạn.

Dựa trên cách sử dụng của bạn, có các phiên bản miễn phí của phần mềm.

Nó có một số tùy chọn tuyệt vời như khả năng xuất bản phiên bản NuGet mới theo yêu cầu, với mỗi bản xây dựng tích hợp liên tục mới, v.v. Một trong những điểm hữu ích nhất (như với tất cả các triển khai máy chủ NuGet) là nó sẽ giữ hàng chục phiên bản cũ hơn trong số các hội đồng của bạn, vì vậy nếu bạn có một dự án cần tham chiếu phiên bản mới nhất và một dự án khác cần tham chiếu phiên bản cũ hơn, mọi thứ sẽ diễn ra bình thường.


2
Bạn nói đúng, TeamCity có rất ít liên quan đến NuGet và có các tùy chọn khác cho máy chủ NuGet (đó là những gì anh ấy đang yêu cầu). TeamCity là khá một máy chủ tích hợp liên tục mà xảy ra để có một built-in máy chủ NuGet.
Jim Aho

14

Kiểm tra phiên bản miễn phí ProGet ; chúng tôi đã xây dựng nó chính xác cho mục đích này. Mất ít thời gian hơn để thiết lập và cung cấp nhiều tính năng trên và ngoài những tính năng được cung cấp bởi máy chủ NuGet tiêu chuẩn, chẳng hạn như nhiều nguồn cấp dữ liệu, tổng hợp nguồn cấp dữ liệu và các loại kho lưu trữ bổ sung (npm, Bower, v.v.)

Nếu bạn muốn trả tiền cho phiên bản doanh nghiệp, bạn cũng có thể sử dụng LDAP để xác thực và khả năng lọc nguồn cấp dữ liệu theo tên / giấy phép từ nguồn cấp dữ liệu được kết nối (tức là nguồn cấp dữ liệu chính thức của NuGet).


2

Có, bạn có thể có nguồn cấp dữ liệu địa phương. Việc thiết lập quá đơn giản, hãy xem ở đây .

MyGet phổ biến để lưu trữ các nguồn cấp dữ liệu riêng tư. Nó không miễn phí, nhưng hãy xem giá cả của họ và có thể nó phù hợp với bạn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.