Utilizzare CodeArtifact con nuget o dotnet CLI - CodeArtifact

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzare CodeArtifact con nuget o dotnet CLI

Puoi usare CLI strumenti come nuget e dotnet da cui pubblicare e consumare pacchetti CodeArtifact. Questo documento fornisce informazioni sulla configurazione degli CLI strumenti e sul loro utilizzo per pubblicare o utilizzare pacchetti.

Configura nuget o dotnet CLI

È possibile configurare nuget o dotnet CLI con il CodeArtifact NuGet Credential Provider, con o manualmente. AWS CLI La configurazione NuGet con il provider di credenziali è altamente consigliata per una configurazione semplificata e un'autenticazione continua.

Metodo 1: Configurazione con il provider di credenziali CodeArtifact NuGet

Il CodeArtifact NuGet Credential Provider semplifica l'autenticazione e la configurazione degli strumenti CodeArtifact . NuGet CLI CodeArtifact i token di autenticazione sono validi per un massimo di 12 ore. Per evitare di dover aggiornare manualmente il token durante l'utilizzo di nuget o dotnetCLI, il fornitore di credenziali recupera periodicamente un nuovo token prima della scadenza del token corrente.

Importante

Per utilizzare il provider di credenziali, assicurati che dal nuget.config file vengano cancellate tutte AWS CodeArtifact le credenziali esistenti che potrebbero essere state aggiunte manualmente o eseguendo la configurazione in precedenza. aws codeartifact login NuGet

Installa e configura il Credential Provider CodeArtifact NuGet

dotnet
  1. Scarica l'ultima versione di. AWS CodeArtifact. NuGet. CredentialProvider strumento da NuGet .org con il seguente dotnet comando.

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. Utilizzate il codeartifact-creds install comando per copiare il provider di credenziali nella cartella NuGet plugins.

    dotnet codeartifact-creds install
  3. (Facoltativo): imposta il AWS profilo che desideri utilizzare con il provider di credenziali. Se non è impostato, il fornitore di credenziali utilizzerà il profilo predefinito. Per ulteriori informazioni sui AWS CLI profili, vedere Profili denominati.

    dotnet codeartifact-creds configure set profile profile_name
nuget

Esegui i seguenti passaggi per NuGet CLI installare il CodeArtifact NuGet Credential Provider da un bucket Amazon S3 e configurarlo. Il provider di credenziali utilizzerà il AWS CLI profilo predefinito. Per ulteriori informazioni sui profili, consulta Profili denominati.

  1. Scarica la versione più recente di CodeArtifact NuGet Credential Provider (codeartifact-nuget-credentialprovider.zip) da un bucket Amazon S3.

    Per visualizzare e scaricare le versioni precedenti, consulta. CodeArtifact NuGet Versioni di Credential Provider

  2. Decomprimere il file.

  3. Copia il AWS. CodeArtifact. NuGetCredentialProvidercartella dalla cartella netfx %user_profile%/.nuget/plugins/netfx/ a Windows o Linux o ~/.nuget/plugins/netfx macOS.

  4. Copia il. AWS CodeArtifact. NuGetCredentialProvidercartella dalla cartella netcore %user_profile%/.nuget/plugins/netcore/ a Windows o Linux o ~/.nuget/plugins/netcore macOS.

Dopo aver creato un repository e configurato il provider di credenziali, puoi utilizzare gli dotnet CLI strumenti nuget o per installare e pubblicare i pacchetti. Per ulteriori informazioni, consulta Consuma pacchetti da NuGet CodeArtifact e Pubblica NuGet pacchetti su CodeArtifact.

Metodo 2: configura nuget o dotnet con il comando login

Il codeartifact login comando contenuto in AWS CLI aggiunge un endpoint del repository e un token di autorizzazione al file di NuGet configurazione, permettendo a nuget o dotnet di connettersi al repository. CodeArtifact Ciò modificherà la NuGet configurazione a livello utente che si trova in Windows e/o Mac/Linux. %appdata%\NuGet\NuGet.Config ~/.config/NuGet/NuGet.Config ~/.nuget/NuGet/NuGet.Config Per ulteriori informazioni sulle NuGet configurazioni, vedere Configurazioni comuni. NuGet

Configura nuget o dotnet con il comando login
  1. Configura AWS le tue credenziali da utilizzare con AWS CLI, come descritto in. Nozioni di base su CodeArtifact

  2. Assicuratevi che lo NuGet CLI strumento (nugetodotnet) sia stato installato e configurato correttamente. Per istruzioni, consulta la documentazione di nuget o dotnet.

  3. Utilizzate il CodeArtifact login comando per recuperare le credenziali da utilizzare con. NuGet

    Nota

    Se accedi a un repository in un dominio di tua proprietà, non è necessario includerlo. --domain-owner Per ulteriori informazioni, consulta Domini con più account.

    dotnet
    Importante

    Utenti Linux e macOS: poiché la crittografia non è supportata su piattaforme diverse da Windows, le credenziali recuperate verranno archiviate come testo semplice nel file di configurazione.

    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

Il comando di login consentirà di:

  • Recupera un token di autorizzazione CodeArtifact utilizzando le tue AWS credenziali.

  • Aggiorna la NuGet configurazione a livello utente con una nuova voce per l'origine del NuGet pacchetto. Verrà chiamata la fonte che punta all'endpoint CodeArtifact del repository. domain_name/repo_name

Il periodo di autorizzazione predefinito dopo la chiamata login è di 12 ore e login deve essere chiamato per aggiornare periodicamente il token. Per ulteriori informazioni sul token di autorizzazione creato con il login comando, vedereToken creati con il comando login.

Dopo aver creato un repository e configurato l'autenticazione, è possibile utilizzare i msbuild CLI client nugetdotnet, o per installare e pubblicare i pacchetti. Per ulteriori informazioni, consulta Consuma pacchetti da NuGet CodeArtifact e Pubblica NuGet pacchetti su CodeArtifact.

Metodo 3: configura nuget o dotnet senza il comando login

Per la configurazione manuale, è necessario aggiungere un endpoint del repository e un token di autorizzazione al file di NuGet configurazione per consentire a nuget o dotnet di connettersi al repository. CodeArtifact

Configura manualmente nuget o dotnet per connetterti al tuo repository. CodeArtifact

  1. Determina l'endpoint del tuo CodeArtifact repository usando il comando. get-repository-endpoint AWS CLI

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

    Output di esempio:

    { "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/" }
  2. Ottieni un token di autorizzazione per connetterti al tuo repository dal tuo gestore di pacchetti utilizzando il comando. get-authorization-token AWS CLI

    aws codeartifact get-authorization-token --domain my_domain

    Output di esempio:

    { "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 }
  3. Crea l'endpoint completo del repository URL aggiungendolo /v3/index.json al file URL restituito get-repository-endpoint nel passaggio 3.

  4. Configura nuget o dotnet per utilizzare l'endpoint del repository dal passaggio 1 e il token di autorizzazione dal passaggio 2.

    Nota

    La fonte URL deve terminare /v3/index.json affinché nuget o dotnet si connettano correttamente a un repository. CodeArtifact

    dotnet

    Utenti Linux e macOS: poiché la crittografia non è supportata su piattaforme diverse da Windows, è necessario aggiungere il --store-password-in-clear-text flag al comando seguente. Tieni presente che in questo modo la password verrà memorizzata come testo semplice nel file di configurazione.

    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
    Nota

    Per aggiornare una fonte esistente, usa il dotnet nuget update source comando.

    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

    Output di esempio:

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

    Per utilizzare un endpoint dualstack, usa l'endpoint. codeartifact.region.on.aws

Consuma pacchetti da NuGet CodeArtifact

Dopo aver configurato NuGet con CodeArtifact, puoi utilizzare NuGet i pacchetti archiviati nel tuo CodeArtifact repository o in uno dei suoi repository upstream.

Per utilizzare una versione del pacchetto da un CodeArtifact repository o da uno dei suoi repository upstream con nuget odotnet, esegui il comando seguente sostituendo packageName con il nome del pacchetto che vuoi consumare e packageSourceName con il nome sorgente del CodeArtifact repository nel file di NuGet configurazione. Se hai usato il login comando per configurare la tua NuGet configurazione, il nome della sorgente è domain_name/repo_name.

Nota

Quando viene richiesto un pacchetto, il NuGet client memorizza nella cache le versioni di quel pacchetto esistenti. A causa di questo comportamento, l'installazione potrebbe non riuscire per un pacchetto richiesto in precedenza prima che la versione desiderata diventasse disponibile. Per evitare questo errore e installare correttamente un pacchetto esistente, è possibile NuGet svuotare la cache prima dell'installazione con nuget locals all --clear odotnet nuget locals all --clear, oppure evitare di utilizzare la cache durante restore i comandi install and specificando l'-NoCacheopzione for nuget o l'--no-cacheopzione perdotnet.

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

Per installare una versione specifica di un pacchetto

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

Per ulteriori informazioni, consulta Gestire i pacchetti utilizzando nuget.exe CLI o Installare e gestire i pacchetti utilizzando dotnet CLI nella documentazione Microsoft.

È possibile utilizzare NuGet pacchetti da NuGet.org tramite un CodeArtifact repository configurando il repository con una connessione esterna a .org. NuGet I pacchetti consumati da NuGet.org vengono importati e archiviati nel tuo repository. CodeArtifact Per ulteriori informazioni sull'aggiunta di connessioni esterne, consulta. Connect un CodeArtifact repository a un repository pubblico

Pubblica NuGet pacchetti su CodeArtifact

Una volta configurato NuGet con CodeArtifact, puoi usare nuget o dotnet pubblicare le versioni dei pacchetti nei repository. CodeArtifact

Per inviare una versione del pacchetto a un CodeArtifact repository, esegui il comando seguente con il percorso completo del .nupkg file e il nome sorgente del CodeArtifact repository nel file di configurazione NuGet . Se hai usato il login comando per configurare la NuGet configurazione, il nome della fonte è. domain_name/repo_name

Nota

Puoi creare un NuGet pacchetto se non ne hai uno da pubblicare. Per ulteriori informazioni, consulta Flusso di lavoro per la creazione di Package nella documentazione 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 Riferimento al provider di credenziali

Il CodeArtifact NuGet Credential Provider semplifica la configurazione e l'autenticazione NuGet con i tuoi repository. CodeArtifact

CodeArtifact NuGet Comandi Credential Provider

Questa sezione include l'elenco dei comandi per il CodeArtifact NuGet Credential Provider. Questi comandi devono avere il prefisso dotnet codeartifact-creds come nell'esempio seguente.

dotnet codeartifact-creds command
  • configure set profile profile: configura il provider di credenziali per utilizzare il profilo fornito. AWS

  • configure unset profile: rimuove il profilo configurato, se impostato.

  • install: copia il provider di credenziali nella plugins cartella.

  • install --profile profile: copia il provider di credenziali nella plugins cartella e lo configura per utilizzare il profilo fornito. AWS

  • uninstall: disinstalla il provider di credenziali. Ciò non rimuove le modifiche al file di configurazione.

  • uninstall --delete-configuration: disinstalla il provider di credenziali e rimuove tutte le modifiche al file di configurazione.

CodeArtifact NuGet Registri di Credential Provider

Per abilitare la registrazione per il CodeArtifact NuGet Credential Provider, è necessario impostare il file di registro nel proprio ambiente. I log del fornitore di credenziali contengono utili informazioni di debug come:

  • Il profilo utilizzato per effettuare le connessioni AWS

  • Eventuali errori di autenticazione

  • Se l'endpoint fornito non è un CodeArtifact URL

Imposta il file di registro del CodeArtifact NuGet Credential Provider

export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file

Dopo aver impostato il file di registro, qualsiasi codeartifact-creds comando aggiungerà il relativo output di registro al contenuto di quel file.

CodeArtifact NuGet Versioni di Credential Provider

La tabella seguente contiene informazioni sulla cronologia delle versioni e collegamenti per il download per il CodeArtifact NuGet Credential Provider.

Versione Modifiche Data di pubblicazione Link per il download (S3)

1.0.2 (più recente)

Dipendenze aggiornate

26/06/2024

Scarica v1.0.2

1.0.1

È stato aggiunto il supporto per net5, net6 e profili SSO

03/05/2022

Scarica v1.0.1

1.0.0

Versione iniziale di CodeArtifact NuGet Credential Provider

20/11/2020

Scarica v1.0.0