Partager via


dotnet nuget push

Cet article s’applique à : ✔️ SDK .NET Core 6 et versions ultérieures

Nom

dotnet nuget push - Envoie (push) un package au serveur et le publie.

Synopsis

dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
    [--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
    [--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
    [-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
    [-t|--timeout <TIMEOUT>]
    [--configfile <FILE>]

dotnet nuget push -h|--help

Descriptif

La dotnet nuget push commande envoie (push) un package au serveur et le publie. La commande Push utilise les détails du serveur et des informations d’identification figurant dans le fichier de configuration NuGet du système ou la chaîne de fichiers de configuration. Pour plus d’informations sur les fichiers de configuration, consultez Configuration du comportement NuGet. La configuration par défaut de NuGet est obtenue en chargeant%AppData%\NuGet\NuGet.config (Windows) ou $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), puis en chargeant les nuget.config ou .nuget\nuget.config à partir de la racine du lecteur et se terminant dans le répertoire actif.

La commande envoie (push) un package existant. Il ne crée pas de package. Pour créer un package, utilisez dotnet pack.

Structure de dossiers hiérarchiques

Cette commande peut stocker des packages dans une structure de dossiers hiérarchique, ce qui est recommandé pour optimiser les performances. Il stocke les packages dans une structure de dossiers hiérarchique lors de la publication dans un dossier local (flux), comme nuget add cela, s’il existe déjà au moins un package dans le flux qui se trouve dans une structure de dossiers hiérarchique. Si le flux comporte déjà un package structuré de dossiers hiérarchiques, dotnet nuget push il respecte cette structure. Par conséquent, si vous souhaitez publier sur un flux local à l’aide de l’interface CLI .NET au lieu de l’interface CLI NuGet :

  • Avant de publier le premier package, accédez à votre dossier de packages globaux, à %userprofile%.nuget\packages, puis sélectionnez le dossier racine d’un ID de package. Il peut s’agir de n’importe quel package qui ne fait pas partie d’un framework, tel que .NET standard ou ASP.NET.
  • Copiez le dossier de package sélectionné dans le dossier racine du flux local.
  • Permet dotnet nuget push de publier votre package dans le flux local.
  • Vous pouvez maintenant supprimer le dossier dans lequel vous avez précédemment copié, et vous pouvez librement utiliser dotnet nuget push pour publier sur votre flux local.

Vous pouvez également utiliser l’interface CLI NuGet pour le premier package, puis vous pouvez l’utiliser dotnet nuget push pour le reste. Pour plus d’informations, consultez flux locaux.

Les arguments

  • ROOT

    Spécifie le chemin d’accès du fichier au package à envoyer (push).

Paramètres

  • --allow-insecure-connections

    Autorise l’envoi (push) vers des sources HTTP (non sécurisées).

  • -d|--disable-buffering

    Désactive la mise en mémoire tampon lors de l’envoi (push) vers un serveur HTTP(S) pour réduire l’utilisation de la mémoire.

  • --force-english-output

    Force l’application à s’exécuter à l’aide d’une culture invariante basée sur l’anglais.

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

  • --interactive

    Permet à la commande de s’arrêter et d’attendre une action ou une entrée utilisateur. Par exemple, pour effectuer une authentification.

  • -k|--api-key <API_KEY>

    Clé API pour le serveur.

  • -n|--no-symbols

    Ne pousse pas de symboles (même s’il est présent).

  • --no-service-endpoint

    N’ajoute pas « api/v2/package » à l’URL source.

  • -s|--source <SOURCE>

    Spécifie l’URL du serveur. NuGet identifie une source de dossier UNC ou local et copie simplement le fichier là-bas au lieu de l’envoyer (push) à l’aide de HTTP.

    Important

    À compter de NuGet 3.4.2, il s’agit d’un paramètre obligatoire, sauf si le fichier de configuration NuGet spécifie une DefaultPushSource valeur. Pour plus d’informations, consultez la page Configurer le comportement de NuGet.

  • --skip-duplicate

    Lorsque vous envoyez plusieurs packages à un serveur HTTP(S), traite toute réponse de conflit 409 en tant qu’avertissement afin que d’autres envois puissent continuer.

  • -sk|--symbol-api-key <API_KEY>

    Clé API pour le serveur de symboles.

  • -ss|--symbol-source <SOURCE>

    Spécifie l’URL du serveur de symboles.

  • -t|--timeout <TIMEOUT>

    Spécifie le délai d’expiration pour l’envoi (push) vers un serveur en secondes. La valeur par défaut est de 300 secondes (5 minutes). La spécification de 0 applique la valeur par défaut.

  • --configfile

    Fichier de configuration NuGet (nuget.config) à utiliser. S’ils sont spécifiés, seuls les paramètres de ce fichier seront utilisés. Si elle n’est pas spécifiée, la hiérarchie des fichiers de configuration du répertoire actuel sera utilisée. Pour plus d’informations, consultez Configuration NuGet courantes.

Exemples

  • Envoyez (push) foo.nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet, à l’aide d’une clé API :

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Envoyez (push) foo.nupkg au serveur NuGet officiel, en spécifiant une clé API :

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Envoyez (push) foo.nupkg à la source https://customsourcepush personnalisée, en spécifiant une clé API :

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Envoyez (push) foo.nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet :

    dotnet nuget push foo.nupkg
    
  • Envoyez (push) foo.symbols.nupkg à la source des symboles par défaut :

    dotnet nuget push foo.symbols.nupkg
    
  • Envoyez (push) foo.nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet, avec un délai d’expiration de 360 secondes :

    dotnet nuget push foo.nupkg --timeout 360
    
  • Envoyez tous les fichiers .nupkg dans le répertoire actif à la source push par défaut spécifiée dans le fichier de configuration NuGet :

    dotnet nuget push "*.nupkg"
    
  • Envoyez tous les fichiers .nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet, même si une réponse de conflit 409 est retournée par un serveur HTTP(S) :

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Envoyez tous les fichiers .nupkg dans le répertoire actif vers un répertoire de flux local :

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Pour envoyer (push) vers Azure Artifacts, consultez la documentation Push d’Azure Artifacts.