비공개 NuGet 패키지를 게시 할 수 있습니까?


107

우리 회사의 팀에 특화된 어셈블리가 있습니다. NuGet을 사용하여 우리 팀 및 회사의 유사한 팀이 작업중인 다른 프로젝트에서이 어셈블리를 사용할 수 있도록하고 싶습니다. 그러나 어셈블리는 실제로 세상과 공유하고 싶은 코드가 아닙니다.

Maven을 사용하면 로컬 리포지토리에서 로컬 리포지토리와 소스 패키지를 만들 수 있습니다. NuGet은 유사한 기능을 지원합니까? NuGet을 사용하여 로컬 리포지토리를 지정하거나 개인 패키지를 가질 수있는 방법이 있습니까?

답변:


92

예! 자신 만의 NuGet 서버를 호스팅 할 수 있습니다!

가장 쉬운 방법은 서버에 공유 폴더를 만들고이를 Nuget 서버로 참조하는 것입니다.

이를 수행하는 방법에 대한 자세한 내용은 다음에서 찾을 수 있습니다. 자체 NuGet 피드 호스팅


3
HTTP를 통해 액세스 할 수있는 실제 서버를 만들어 어셈블리를 호스팅하려는 경우 위의 링크에서 '원격 피드 만들기'섹션까지 아래로 스크롤합니다.
Kevin Kalitowski 2013 년

6
이것이 아마도 가장 쉬운 방법 일 수 있지만 폴더를 모든 사람과 공유해야하며 액세스 권한이있는 모든 사람이 (실수로든 아니든) 그 내용을 조정할 수 있습니다. 더 나은 방법 (아직 간단한 방법)은 NuGet.ServerIIS 또는 Azure 를 사용하여 자신의 서버를 만들고 호스팅하는 것입니다. 그러면 API 키를 사용하여 패키지를 푸시 할 수 있으며 누구나 피드를 구독 할 수 있습니다. 다음은 고유 한 NuGet 서버만드는 쉬운 가이드 입니다.
알렉스 Sanséau

매력처럼 일했다!
Andro 2015 년

나는 같은 문제가 있었다. 발견 다음 : 스캇 : hanselman.com/blog/... 도 : nicolaiarocci.com/...
마이클 Mittermair

21

자체 NuGet 서버를 호스팅하는 또 다른 옵션은 JetBrains TeamCity를 빌드 서버로 사용하는 것입니다. 여기에 설정이 설명되어 있습니다 .

Team City 서버는 회사 내에서만 액세스 할 수 있거나 액세스 할 수있는 NuGet 리포지토리 역할을합니다.

사용량에 따라 소프트웨어의 무료 버전이 있습니다.

필요에 따라 새로운 NuGet 버전을 게시 할 수있는 기능, 각각의 새로운 지속적 통합 빌드 등과 같은 몇 가지 멋진 옵션이 있습니다. 가장 유용한 부분 중 하나 (모든 NuGet 서버 구현과 마찬가지로)는 수십 개의 이전 버전을 유지한다는 것입니다. 최신 버전을 참조해야하는 프로젝트가 하나 있고 이전 버전을 참조해야하는 다른 프로젝트가 있으면 모든 것이 작동합니다.


2
정확하지만 TeamCity는 NuGet과 거의 관련이 없으며 NuGet 서버에 대한 다른 옵션이 있습니다 (그가 요구하는 것입니다). 인 TeamCity는 오히려 지속적인 통합 서버입니다 발생 A가 내장 NuGet 서버 가지고.
짐 아호

14

ProGet 무료 버전을 확인하십시오 . 우리는 정확히이 목적을 위해 그것을 만들었습니다. 설정하는 데 훨씬 적은 시간이 걸리며 여러 피드, 피드 집계 및 추가 리포지토리 유형 (npm, Bower 등)과 같이 표준 NuGet 서버에서 제공하는 기능 이상의 많은 기능을 제공합니다.

엔터프라이즈 버전에 대한 비용을 지불하려는 경우 인증에 LDAP를 사용할 수있는 기능과 연결된 피드 (예 : NuGet의 공식 피드)에서 이름 / 라이선스별로 피드를 필터링하는 기능도 제공됩니다.


2

예, 지역 피드를 사용할 수 있습니다. 설정하는 것은 매우 간단합니다 . 여기를 살펴보세요 .

MyGet 은 비공개 피드 호스팅에 널리 사용됩니다. 무료는 아니지만 가격을 살펴보면 잘 맞을 수 있습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.