View a markdown version of this page

Da usare CodeArtifact con la CLI nuget o dotnet - 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à.

Da usare CodeArtifact con la CLI nuget o dotnet

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

Configura la CLI nuget o dotnet

È possibile configurare la CLI nuget o dotnet 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 mentre si utilizza la CLI nuget o dotnet, il provider di credenziali recupera periodicamente un nuovo token prima della scadenza del token corrente.

Importante

Per utilizzare il provider di credenziali, assicurati che tutte le AWS CodeArtifact credenziali esistenti vengano cancellate dal nuget.config file che potrebbe essere stato aggiunto manualmente o eseguendo la configurazione precedente. aws codeartifact login NuGet

Installa e configura il Credential Provider CodeArtifact NuGet

dotnet
  1. Scarica la versione più recente dello AWS.CodeArtifact.NuGet.CredentialProvider strumento NuGet.org con il seguente dotnet comando.

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. Usa il codeartifact-creds install comando per copiare il fornitore di credenziali nella cartella dei NuGet plugin.

    dotnet codeartifact-creds install
  3. (Facoltativo): imposta il AWS profilo che desideri utilizzare con il provider di credenziali. Se non è impostato, il provider 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 passaggi seguenti per utilizzare la NuGet CLI per 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 Named profiles. https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html

  1. Scarica la versione più recente del 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 la AWS.CodeArtifact.NuGetCredentialProvider cartella dalla cartella netfx %user_profile%/.nuget/plugins/netfx/ su Windows o ~/.nuget/plugins/netfx Linux o macOS.

  4. Copia la AWS.CodeArtifact.NuGetCredentialProvider cartella dalla cartella netcore %user_profile%/.nuget/plugins/netcore/ su Windows o Linux o ~/.nuget/plugins/netcore macOS.

Dopo aver creato un repository e configurato il provider di credenziali, puoi utilizzare gli strumenti nuget o dotnet CLI 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 in AWS CLI aggiunge un endpoint del repository e un token di autorizzazione al file di NuGet configurazione consentendo a nuget o dotnet di connettersi al repository. CodeArtifact Ciò modificherà la NuGet configurazione a livello utente che si trova in per Windows e/o per. %appdata%\NuGet\NuGet.Config ~/.config/NuGet/NuGet.Config ~/.nuget/NuGet/NuGet.Config Mac/Linux 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. Guida introduttiva con CodeArtifact

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

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

    Nota

    Se stai accedendo a un repository in un dominio di tua proprietà, non devi includerlo. --domain-owner Per ulteriori informazioni, consulta Cross-account domini.

    dotnet
    Importante

    Utenti Linux e macOS: poiché la crittografia non è supportata su piattaforme non 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à richiamata la fonte che punta all'endpoint del tuo CodeArtifact 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 clientnuget,dotnet, o msbuild CLI per installare e pubblicare i pacchetti. Per ulteriori informazioni, consulta Consuma pacchetti da NuGet CodeArtifact e Pubblica NuGet pacchetti su CodeArtifact.

Metodo 3: configurare nuget o dotnet senza il comando di 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 connettersi al tuo repository. CodeArtifact

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

    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 usando 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'URL completo dell'endpoint del repository aggiungendolo /v3/index.json all'URL restituito da get-repository-endpoint nel passaggio 1.

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

    Nota

    L'URL di origine deve terminare /v3/index.json per consentire a nuget o dotnet di connettersi correttamente a un repository. CodeArtifact

    dotnet

    Utenti Linux e macOS: poiché la crittografia non è supportata su piattaforme non Windows, è necessario aggiungere il --store-password-in-clear-text flag al comando seguente. Nota che questo memorizzerà la tua password come testo semplice nel tuo 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, usate 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

Una volta effettuata la configurazione NuGet con CodeArtifact, puoi consumare i NuGet pacchetti archiviati nel tuo CodeArtifact repository o in uno dei suoi repository upstream.

Per consumare una versione del pacchetto da un CodeArtifact repository o da uno dei suoi repository upstream con nuget odotnet, esegui il comando seguente sostituendolo packageName con il nome del pacchetto che desideri consumare e packageSourceName con il nome sorgente del tuo CodeArtifact repository nel file di configurazione. NuGet Se hai usato il login comando per configurare la tua NuGet configurazione, il nome 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, può fallire l'installazione di un pacchetto richiesto in precedenza prima che la versione desiderata diventasse disponibile. Per evitare questo errore e installare correttamente un pacchetto esistente, è possibile cancellare la NuGet cache prima dell'installazione con nuget locals all --clear o oppure dotnet nuget locals all --clear evitare di utilizzare la cache durante restore i comandi install e fornendo l'-NoCacheopzione per 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 la CLI nuget.exe o Installare e gestire i pacchetti utilizzando la CLI dotnet nella documentazione Microsoft.

È possibile consumare NuGet pacchetti da NuGet.org un CodeArtifact repository configurando il repository con una connessione esterna a. NuGet.org I pacchetti utilizzati NuGet.org vengono inseriti e archiviati nel tuo repository. CodeArtifact Per ulteriori informazioni sull'aggiunta di connessioni esterne, vedere. Connect un CodeArtifact repository a un repository pubblico

Pubblica NuGet pacchetti su CodeArtifact

Una volta configurato NuGet con CodeArtifact, puoi usare nuget o pubblicare le versioni dei pacchetti nei dotnet 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 tua 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, vedi Flusso di lavoro per la creazione del pacchetto 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 fornitore 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 essere preceduti da un 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 fornitore 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 del fornitore di credenziali

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

  • Il AWS profilo utilizzato per effettuare le connessioni

  • Eventuali errori di autenticazione

  • Se l'endpoint fornito non è un URL CodeArtifact

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

06/26/2024

Scarica v1.0.2

1.0.1

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

03/05/2022

Scarica v1.0.1

1.0.0

Versione iniziale di CodeArtifact NuGet Credential Provider

11/20/2020

Scarica v1.0.0