Posso pubblicare un pacchetto NuGet privato?


107

Ho un assemblaggio che ho realizzato che è molto specifico per il mio team nella mia azienda. Voglio essere in grado di usare NuGet per rendere questo assembly disponibile per altri progetti su cui stanno lavorando il mio team e team simili della mia azienda. Tuttavia, l'assembly non è realmente codice che voglio condividere con il mondo.

So che con Maven puoi creare repository locali e pacchetti sorgente da un repository locale. NuGet supporta funzionalità simili? C'è un modo con NuGet per specificare un repository locale o per avere pacchetti privati?

Risposte:


92

Sì! Puoi ospitare il tuo server NuGet!

Il modo più semplice è creare una cartella condivisa sul tuo server e fare riferimento a essa come al tuo server Nuget.

È possibile trovare ulteriori informazioni su come eseguire questa operazione in: Hosting Your Own NuGet Feeds


3
Al collegamento sopra, scorri verso il basso fino alla sezione "Creazione di feed remoti" se stai cercando di creare un server effettivo, accessibile tramite HTTP, per ospitare i tuoi assembly.
Kevin Kalitowski

6
Sebbene questo sia probabilmente il modo più semplice, significa che devi condividere la cartella con tutti e chiunque abbia accesso potrebbe (accidentalmente o meno) temperare con il suo contenuto. Un modo migliore (ma semplice) è creare il proprio server usando NuGet.Servere per ospitare è in IIS o Azure. Sarai quindi in grado di eseguire il push dei pacchetti utilizzando una chiave API e chiunque può iscriversi al feed. Ecco una semplice guida per creare il tuo server NuGet .
Alex Sanséau

Ha funzionato come un fascino!
Andro

Ho avuto lo stesso problema. e ho trovato quanto segue: Scott: hanselman.com/blog/… anche: nicolaiarocci.com/…
Michael Mittermair

21

Un'altra opzione per ospitare il proprio server NuGet consiste nell'usare JetBrains TeamCity come server di compilazione. La configurazione è descritta qui .

Il server Team City funge da repository NuGet che dovrebbe / potrebbe / dovrebbe essere accessibile solo all'interno della tua azienda.

In base al tuo utilizzo, esistono versioni gratuite del software.

Ha alcune opzioni interessanti come la possibilità di pubblicare una nuova versione di NuGet su richiesta, con ogni nuova build di integrazione continua, ecc. Uno dei bit più utili (come con tutte le implementazioni del server NuGet) è che manterrà dozzine di versioni precedenti dei tuoi assembly quindi se hai un progetto che deve fare riferimento alla versione più recente e un altro progetto che deve fare riferimento a una versione precedente, tutto funzionerà.


2
Anche se hai ragione, TeamCity ha ben poco a che fare con NuGet per dire, e ci sono altre opzioni per un server NuGet (che è quello che sta chiedendo). TeamCity è piuttosto un server di integrazione continua che capita di avere un built-in server di NuGet.
Jim Aho

14

Controlla la versione gratuita Proget ; lo abbiamo costruito esattamente per questo scopo. Richiede molto meno tempo per l'installazione e offre molte funzionalità oltre a quelle offerte dal server NuGet standard, come più feed, aggregazione di feed e tipi di repository aggiuntivi (npm, Bower, ecc.)

Se desideri pagare per la versione aziendale, hai anche la possibilità di utilizzare LDAP per l'autenticazione e la possibilità di filtrare i feed per nome / licenza dai feed collegati (ovvero il feed ufficiale di NuGet).


2

Sì, puoi avere feed locali. È semplicissimo da configurare, dai un'occhiata qui .

MyGet è popolare per l'hosting di feed privati. Non è gratuito, ma dai un'occhiata ai loro prezzi e forse ti sta bene!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.