Pubblicare e ripristinare pacchetti NuGet dalla riga di comando (NuGet.exe)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Con Azure Artifacts è possibile pubblicare i pacchetti NuGet in feed pubblici e privati, consentendo di condividerli con altri utenti in base alle impostazioni di visibilità del feed. Questo articolo illustra come connettersi al feed di Azure Artifacts e alla pubblicazione e al ripristino dei pacchetti NuGet.

Prerequisiti

  • Un'organizzazione Di Azure DevOps e un progetto. Creare un'organizzazione o un progetto, se non è già stato fatto.

  • Feed di Azure Artifacts. Crea un nuovo feed se non ne hai già uno.

  • Provider di credenziali di Azure Artifacts.

  • Versione più recente di NuGet.

Connetti a feed

  1. Accedere all'organizzazione di Azure DevOps e passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed dal menu a discesa.

  3. Selezionare Connessione da inserire e quindi selezionare NuGet.exe nel riquadro di spostamento a sinistra.

  4. Aggiungere un file nuget.config al progetto, nella stessa cartella del file con estensione csproj o .sln . Incollare il frammento XML specificato nel file. Il frammento di codice dovrebbe essere simile al seguente:

    • Feed con ambito organizzazione:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
    • Feed con ambito progetto:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Accedere al server Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed.

  3. Selezionare Connessione da feed e quindi selezionare NuGet.exe nel riquadro di spostamento a sinistra.

  4. Seguire le istruzioni nella sezione Configurazione del progetto per connettersi al feed.

  1. Accedere al server Azure DevOps e quindi passare al progetto.

  2. Selezionare Artefatti e quindi selezionare il feed.

  3. Selezionare Connessione in Feed e quindi selezionare NuGet nel riquadro di spostamento a sinistra.

  4. Seguire le istruzioni fornite per aggiungere l'URL dell'origine del pacchetto al file nuget.config .

Pubblicare pacchetti

Eseguire il comando seguente per pubblicare i pacchetti nel feed. Sostituire i segnaposto con le informazioni pertinenti:

nuget push <PACKAGE_PATH> -src https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -ApiKey <ANY_STRING>

Esempio:

nuget push MyPackage.5.0.2.nupkg -src https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ

Nota

ApiKey è obbligatorio, ma è possibile usare qualsiasi valore arbitrario durante il push nei feed di Azure Artifacts.

Pubblicare pacchetti da origini esterne

  1. Creare un token di accesso personale con ambito di lettura e scrittura per la creazione di pacchetti.

  2. Aggiungere l'origine del pacchetto al file nuget.config . Verrà aggiunto il pat al file nuget.config . Archiviare il file in un percorso sicuro e assicurarsi di non archiviarlo nel controllo del codice sorgente.

    nuget sources Add -Name <SOURCE_NAME> -Source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json -UserName <USER_NAME> -Password <PERSONAL_ACCESS_TOKEN> -config <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Pubblicare il pacchetto NuGet nel feed:

    nuget push <PACKAGE_PATH> -src <SOURCE_NAME> -ApiKey <ANY_STRING>
    

Esempio:

nuget sources Add -Name "MySource" -Source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json -UserName MyUserName -Password YourPersonalAccessToken -config ./nuget.config
nuget push nupkgs/mypackage.1.1.8.nupkg -src MySource -ApiKey AZ

Nota

Se l'organizzazione usa un firewall o un server proxy, assicurarsi di consentire gli URL di dominio e gli indirizzi IP di Azure Artifacts.

Ripristinare pacchetti

Eseguire il comando seguente nella directory del progetto per ripristinare i pacchetti:

nuget.exe restore