À utiliser CodeArtifact avec le nuget ou le dotnet CLI - CodeArtifact

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

À utiliser CodeArtifact avec le nuget ou le dotnet CLI

Vous pouvez utiliser CLI des outils tels que nuget et dotnet pour publier et consommer des packages à partir de CodeArtifact. Ce document fournit des informations sur la configuration CLI des outils et leur utilisation pour publier ou consommer des packages.

Configurer le nuget ou le dotnet CLI

Vous pouvez configurer le nuget ou le dotnet CLI avec le fournisseur CodeArtifact NuGet d'informations d'identification, avec ou manuellement AWS CLI. La configuration NuGet avec le fournisseur d'informations d'identification est vivement recommandée pour une configuration simplifiée et une authentification continue.

Méthode 1 : Configuration avec le fournisseur CodeArtifact NuGet d'informations d'identification

Le fournisseur CodeArtifact NuGet d'informations d'identification simplifie l'authentification et la configuration à l' CodeArtifact aide d' NuGet CLIoutils. CodeArtifact les jetons d'authentification sont valides pendant 12 heures au maximum. Pour éviter d'avoir à actualiser manuellement le jeton lors de l'utilisation du nuget ou du dotnetCLI, le fournisseur d'informations d'identification récupère régulièrement un nouveau jeton avant l'expiration du jeton actuel.

Important

Pour utiliser le fournisseur d'informations d'identification, assurez-vous que toutes les AWS CodeArtifact informations d'identification existantes sont effacées de votre nuget.config fichier et qu'elles ont peut-être été ajoutées manuellement ou en exécutant aws codeartifact login la configuration NuGet précédente.

Installation et configuration du fournisseur d' CodeArtifact NuGet informations d'identification

dotnet
  1. Téléchargez la dernière version du AWS. CodeArtifact. NuGet. CredentialProvider outil de NuGet .org avec la dotnet commande suivante.

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. Utilisez la codeartifact-creds install commande pour copier le fournisseur d'informations d'identification dans le dossier NuGet des plugins.

    dotnet codeartifact-creds install
  3. (Facultatif) : Définissez le AWS profil que vous souhaitez utiliser avec le fournisseur d'informations d'identification. S'il n'est pas défini, le fournisseur d'informations d'identification utilisera le profil par défaut. Pour plus d'informations sur les AWS CLI profils, consultez la section Profils nommés.

    dotnet codeartifact-creds configure set profile profile_name
nuget

Procédez comme suit pour utiliser le afin d' NuGet CLIinstaller le fournisseur CodeArtifact NuGet d'informations d'identification à partir d'un compartiment Amazon S3 et de le configurer. Le fournisseur d'informations d'identification utilisera le AWS CLI profil par défaut. Pour plus d'informations sur les profils, voir Profils nommés.

  1. Téléchargez la dernière version du fournisseur CodeArtifact NuGet d'informations d'identification (codeartifact-nuget-credentialprovider.zip) depuis un compartiment Amazon S3.

    Pour consulter et télécharger les versions antérieures, voirCodeArtifact NuGet Versions du fournisseur d'informations d'identification.

  2. Décompressez le fichier.

  3. Copiez le AWS. CodeArtifact. NuGetCredentialProviderdossier du dossier netfx vers %user_profile%/.nuget/plugins/netfx/ Windows, ~/.nuget/plugins/netfx Linux ou macOS.

  4. Copiez le AWS. CodeArtifact. NuGetCredentialProviderdossier du dossier netcore vers %user_profile%/.nuget/plugins/netcore/ Windows, ~/.nuget/plugins/netcore Linux ou macOS.

Après avoir créé un référentiel et configuré le fournisseur d'informations d'identification, vous pouvez utiliser les dotnet CLI outils nuget or pour installer et publier des packages. Pour plus d’informations, consultez Consommez NuGet des colis provenant de CodeArtifact et Publiez NuGet des packages sur CodeArtifact.

Méthode 2 : configurer nuget ou dotnet avec la commande de connexion

La codeartifact login commande du AWS CLI ajoute un point de terminaison du référentiel et un jeton d'autorisation à votre fichier NuGet de configuration, permettant à Nuget ou Dotnet de se connecter à votre CodeArtifact référentiel. Cela modifiera la NuGet configuration au niveau utilisateur qui se trouve dans %appdata%\NuGet\NuGet.Config pour Windows ~/.config/NuGet/NuGet.Config et/ou ~/.nuget/NuGet/NuGet.Config pour Mac/Linux. Pour plus d'informations sur les NuGet configurations, consultez la section NuGet Configurations courantes.

Configurez nuget ou dotnet avec la commande login
  1. Configurez vos AWS informations d'identification à utiliser avec le AWS CLI, comme décrit dansDémarrage avec CodeArtifact.

  2. Assurez-vous que l' NuGet CLIoutil (nugetoudotnet) a été correctement installé et configuré. Pour obtenir des instructions, consultez la documentation de Nuget ou Dotnet.

  3. Utilisez la CodeArtifact login commande pour récupérer les informations d'identification à utiliser avec NuGet.

    Note

    Si vous accédez à un référentiel dans un domaine qui vous appartient, vous n'avez pas besoin de l'inclure--domain-owner. Pour de plus amples informations, veuillez consulter Domaines multi-comptes.

    dotnet
    Important

    Utilisateurs de Linux et de macOS : le chiffrement n'étant pas pris en charge sur les plateformes autres que Windows, les informations d'identification que vous avez récupérées seront stockées sous forme de texte brut dans votre fichier de configuration.

    aws codeartifact login --tool dotnet --domain my_domain --domain-owner 111122223333 --repository my_repo
    nuget
    aws codeartifact login --tool nuget --domain my_domain --domain-owner 111122223333 --repository my_repo

La commande de connexion permettra de :

  • Récupérez un jeton d'autorisation à CodeArtifact l'aide de vos AWS informations d'identification.

  • Mettez à jour votre NuGet configuration au niveau utilisateur avec une nouvelle entrée pour la source de votre NuGet package. La source qui pointe vers le point de terminaison de votre CodeArtifact dépôt sera appeléedomain_name/repo_name.

La période d'autorisation par défaut après l'appel login est de 12 heures et login doit être appelée pour actualiser régulièrement le jeton. Pour plus d'informations sur le jeton d'autorisation créé avec la login commande, consultezJetons créés avec la login commande.

Après avoir créé un référentiel et configuré l'authentification, vous pouvez utiliser les msbuild CLI clients nugetdotnet, ou pour installer et publier des packages. Pour plus d’informations, consultez Consommez NuGet des colis provenant de CodeArtifact et Publiez NuGet des packages sur CodeArtifact.

Méthode 3 : configurer nuget ou dotnet sans la commande de connexion

Pour la configuration manuelle, vous devez ajouter un point de terminaison de référentiel et un jeton d'autorisation à votre fichier de NuGet configuration pour permettre à nuget ou dotnet de se connecter à votre CodeArtifact référentiel.

Configurez manuellement nuget ou dotnet pour vous connecter à votre CodeArtifact dépôt.

  1. Déterminez le point de terminaison de votre CodeArtifact dépôt à l'aide de la get-repository-endpoint AWS CLI commande.

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget

    Exemple de sortie :

    { "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/" }
  2. Obtenez un jeton d'autorisation pour vous connecter à votre dépôt depuis votre gestionnaire de packages à l'aide de la get-authorization-token AWS CLI commande.

    aws codeartifact get-authorization-token --domain my_domain

    Exemple de sortie :

    { "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 }
  3. Créez le point de terminaison complet du référentiel en l'URLajoutant /v3/index.json à celui URL renvoyé par get-repository-endpoint à l'étape 3.

  4. Configurez nuget ou dotnet pour utiliser le point de terminaison du référentiel de l'étape 1 et le jeton d'autorisation de l'étape 2.

    Note

    La source URL doit se terminer par /v3/index.json pour que nuget ou dotnet puissent se connecter correctement à un CodeArtifact dépôt.

    dotnet

    Utilisateurs de Linux et de macOS : le chiffrement n'étant pas pris en charge sur les plateformes autres que Windows, vous devez ajouter l'--store-password-in-clear-textindicateur à la commande suivante. Notez que cela enregistrera votre mot de passe sous forme de texte brut dans votre fichier de configuration.

    dotnet nuget add source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json --name packageSourceName --password eyJ2I...viOw --username aws
    Note

    Pour mettre à jour une source existante, utilisez la dotnet nuget update source commande.

    nuget
    nuget sources add -name domain_name/repo_name -Source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json -password eyJ2I...viOw -username aws

    Exemple de sortie :

    Package source with Name: domain_name/repo_name added successfully.
    Note

    Pour utiliser un point de terminaison à double pile, utilisez le codeartifact.region.on.aws point de terminaison.

Consommez NuGet des colis provenant de CodeArtifact

Une fois que vous avez configuré NuGet avec CodeArtifact, vous pouvez utiliser les NuGet packages stockés dans votre CodeArtifact référentiel ou dans l'un de ses référentiels en amont.

Pour utiliser une version de package à partir d'un CodeArtifact référentiel ou de l'un de ses référentiels en amont avec nuget oudotnet, exécutez la commande suivante en remplaçant packageName avec le nom du package que vous souhaitez consommer et packageSourceName avec le nom de la source de votre CodeArtifact dépôt dans votre fichier NuGet de configuration. Si vous avez utilisé la login commande pour configurer votre NuGet configuration, le nom de la source est domain_name/repo_name.

Note

Lorsqu'un package est demandé, le NuGet client met en cache les versions de ce package qui existent. En raison de ce comportement, l'installation d'un package précédemment demandé avant que la version souhaitée ne soit disponible peut échouer. Pour éviter cet échec et installer correctement un package existant, vous pouvez soit vider le NuGet cache avant une installation avec nuget locals all --clear oudotnet nuget locals all --clear, soit éviter d'utiliser le cache pendant restore les commandes install et en fournissant l'-NoCacheoption pour nuget ou l'--no-cacheoption pourdotnet.

dotnet
dotnet add package packageName --source packageSourceName
nuget
nuget install packageName -Source packageSourceName

Pour installer une version spécifique d'un package

dotnet
dotnet add package packageName --version 1.0.0 --source packageSourceName
nuget
nuget install packageName -Version 1.0.0 -Source packageSourceName

Voir Gérer les packages à l'aide du fichier nuget.exe CLI ou Installer et gérer les packages à l'aide du dotnet CLI dans la documentation Microsoft pour plus d'informations.

Vous pouvez utiliser des NuGet packages provenant de NuGet.org via un CodeArtifact référentiel en configurant le référentiel avec une connexion externe à NuGet.org. Les paquets consommés à partir de NuGet.org sont ingérés et stockés dans votre CodeArtifact dépôt. Pour plus d'informations sur l'ajout de connexions externes, consultezConnect un CodeArtifact dépôt à un dépôt public.

Publiez NuGet des packages sur CodeArtifact

Une fois que vous avez configuré NuGet avec CodeArtifact, vous pouvez utiliser nuget ou dotnet publier des versions de package dans CodeArtifact des référentiels.

Pour transférer une version de package vers un CodeArtifact référentiel, exécutez la commande suivante en indiquant le chemin complet de votre .nupkg fichier et le nom de la source de votre CodeArtifact référentiel dans votre fichier NuGet de configuration. Si vous avez utilisé la login commande pour configurer votre NuGet configuration, le nom de la source estdomain_name/repo_name.

Note

Vous pouvez créer un NuGet package si vous n'en avez pas à publier. Pour plus d'informations, consultez la section Flux de travail de création de packages dans la documentation Microsoft.

dotnet
dotnet nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg --source packageSourceName
nuget
nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg -Source packageSourceName

CodeArtifact NuGet Référence du fournisseur d'informations d'identification

Le fournisseur CodeArtifact NuGet d'informations d'identification facilite la configuration et l'authentification NuGet auprès de vos CodeArtifact référentiels.

CodeArtifact NuGet Commandes du fournisseur d'informations d'identification

Cette section inclut la liste des commandes pour le fournisseur CodeArtifact NuGet d'informations d'identification. Ces commandes doivent être préfixées par un préfixe, dotnet codeartifact-creds comme dans l'exemple suivant.

dotnet codeartifact-creds command
  • configure set profile profile: Configure le fournisseur d'informations d'identification pour qu'il utilise le profil fourni AWS .

  • configure unset profile: Supprime le profil configuré s'il est défini.

  • install: copie le fournisseur d'informations d'identification plugins dans le dossier.

  • install --profile profile: copie le fournisseur d'informations d'identification plugins dans le dossier et le configure pour utiliser le profil fourni AWS .

  • uninstall: désinstalle le fournisseur d'informations d'identification. Cela ne supprime pas les modifications apportées au fichier de configuration.

  • uninstall --delete-configuration: désinstalle le fournisseur d'informations d'identification et supprime toutes les modifications apportées au fichier de configuration.

CodeArtifact NuGet Journaux du fournisseur d'informations d'identification

Pour activer la journalisation pour le fournisseur CodeArtifact NuGet d'informations d'identification, vous devez définir le fichier journal dans votre environnement. Les journaux du fournisseur d'informations d'identification contiennent des informations de débogage utiles, telles que :

  • Le AWS profil utilisé pour établir des connexions

  • Toute erreur d'authentification

  • Si le point de terminaison fourni n'est pas CodeArtifact URL

Définissez le fichier journal du fournisseur d'informations d' CodeArtifact NuGet identification

export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file

Une fois le fichier journal défini, toute codeartifact-creds commande ajoutera sa sortie de journal au contenu de ce fichier.

CodeArtifact NuGet Versions du fournisseur d'informations d'identification

Le tableau suivant contient des informations sur l'historique des versions et des liens de téléchargement pour le fournisseur CodeArtifact NuGet d'informations d'identification.

Version Modifications Date de publication Lien de téléchargement (S3)

1.0.2 (dernière version)

Dépendances améliorées

26/06/2024

Télécharger v1.0.2

1.0.1

Ajout du support pour net5, net6 et les profils SSO

05/03/2022

Télécharger v1.0.1

1.0.0

Version initiale du fournisseur CodeArtifact NuGet d'informations d'identification

20/11/2020

Télécharger v1.0.0