Pubblicare e ripristinare pacchetti NuGet dalla riga di comando (dotnet)

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

Azure Artifacts consente di pubblicare e ripristinare i pacchetti NuGet da e verso il feed, consentendo di condividerli con altri utenti in base alle impostazioni di visibilità del feed. Questa guida illustra come configurare il progetto per pubblicare o ripristinare pacchetti usando l'interfaccia della riga di comando dotnet.

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.

  • Scaricare e installare il provider di credenziali di Azure Artifacts.

  • Scaricare e installare .NET Core SDK (2.1.400+) .

Connetti a feed

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

  2. Selezionare Connessione da inserire e quindi selezionare dotnet nella sezione NuGet a sinistra.

  3. Creare un file nuget.config nella stessa cartella del file csproj o sln . Copiare il frammento XML seguente e incollarlo nel nuovo file, sostituendo i segnaposto con le informazioni pertinenti:

  • Feed con ambito organizzazione:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <clear />
        <add key="<FEED_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="<FEED_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 in Feed e quindi selezionare dotnet nel riquadro di spostamento a sinistra.

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

    Screenshot che mostra come connettersi a un feed con dotnet in Azure DevOps Server 2020 e 2022.

Nota

dotnet non è supportato in Azure DevOps Server 2019.

Pubblicare pacchetti

Eseguire il comando seguente per pubblicare un pacchetto nel feed. Sostituire i segnaposto con le informazioni appropriate:

dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH> 

Esempio: dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg

Nota

L'oggetto api-key viene utilizzato solo come segnaposto.

Pubblicare pacchetti da origini esterne

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

  2. Sostituire il segnaposto PERSONAL_ACCESS_TOKEN> con il token di accesso personale e quindi eseguire il comando seguente per aggiungere l'origine< del pacchetto al file nuget.config. Il token di accesso personale viene aggiunto al file nuget.config. Assicurarsi di archiviare il file in modo sicuro e non di archiviarlo nel controllo del codice sorgente.

    dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
    
  3. Pubblicare il pacchetto:

    dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
    

Esempio: dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.configdotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg

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 per ripristinare i pacchetti. Il --interactive flag viene usato per richiedere all'utente le credenziali:

dotnet restore --interactive