Úselo CodeArtifact con nuget o dotnet CLI - CodeArtifact

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Úselo CodeArtifact con nuget o dotnet CLI

Puedes usar CLI herramientas como nuget y desde dotnet las que publicar y consumir paquetes CodeArtifact. Este documento proporciona información sobre la configuración de las CLI herramientas y su uso para publicar o consumir paquetes.

Configure el nuget o el dotnet CLI

Puede configurar el nuget o el dotnet CLI con el proveedor de CodeArtifact NuGet credenciales, con el o manualmente. AWS CLI Se recomienda encarecidamente NuGet realizar la configuración con el proveedor de credenciales para simplificar la configuración y continuar con la autenticación.

Método 1: configure con el proveedor de CodeArtifact NuGet credenciales

El proveedor de CodeArtifact NuGet credenciales simplifica la autenticación y la configuración CodeArtifact con NuGet CLI herramientas. CodeArtifact los tokens de autenticación son válidos durante un máximo de 12 horas. Para evitar tener que actualizar el token manualmente mientras se usa nuget o dotnetCLI, el proveedor de credenciales busca periódicamente un nuevo token antes de que caduque el token actual.

importante

Para usar el proveedor de credenciales, asegúrese de borrar del nuget.config archivo todas AWS CodeArtifact las credenciales existentes que se hayan agregado manualmente o ejecutándolas para configurarlas previamente. aws codeartifact login NuGet

Instale y configure el proveedor de CodeArtifact NuGet credenciales

dotnet
  1. Descargue la última versión deAWS. CodeArtifact. NuGet. CredentialProvider herramienta de NuGet .org con el siguiente dotnet comando.

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. Use el codeartifact-creds install comando para copiar el proveedor de credenciales a la carpeta de NuGet complementos.

    dotnet codeartifact-creds install
  3. (Opcional): establece el AWS perfil que quieres usar con el proveedor de credenciales. Si no se establece, el proveedor de credenciales utilizará el perfil predeterminado. Para obtener más información sobre AWS CLI los perfiles, consulte Perfiles con nombre.

    dotnet codeartifact-creds configure set profile profile_name
nuget

Realice los siguientes pasos para utilizar el NuGet CLI para instalar el proveedor de CodeArtifact NuGet credenciales desde un bucket de Amazon S3 y configurarlo. El proveedor de credenciales utilizará el AWS CLI perfil predeterminado. Para obtener más información sobre los perfiles, consulte Perfiles con nombre.

  1. Descargue la última versión del proveedor de CodeArtifact NuGet credenciales (codeartifact-nuget-credentialprovider.zip) de un bucket de Amazon S3.

    Para ver y descargar versiones anteriores, consulte CodeArtifact NuGet Versiones del proveedor de credenciales.

  2. Descomprima el archivo.

  3. Copia el. AWS CodeArtifact. NuGetCredentialProvidercarpeta desde la carpeta netfx %user_profile%/.nuget/plugins/netfx/ a Windows, Linux o ~/.nuget/plugins/netfx macOS.

  4. Copia elAWS. CodeArtifact. NuGetCredentialProvidercarpeta desde la carpeta netcore %user_profile%/.nuget/plugins/netcore/ a Windows, Linux o ~/.nuget/plugins/netcore macOS.

Tras crear un repositorio y configurar el proveedor de credenciales, puede utilizar las dotnet CLI herramientas nuget o herramientas para instalar y publicar paquetes. Para obtener más información, consulte Consume paquetes NuGet de CodeArtifact y Publica NuGet paquetes en CodeArtifact.

Método 2: configurar nuget o dotnet con el comando login

El codeartifact login comando del AWS CLI añade un punto final del repositorio y un token de autorización a tu archivo de NuGet configuración, lo que permite que nuget o dotnet se conecten a tu CodeArtifact repositorio. Esto modificará la NuGet configuración a nivel de usuario, que se encuentra en %appdata%\NuGet\NuGet.Config Windows ~/.config/NuGet/NuGet.Config o ~/.nuget/NuGet/NuGet.Config Mac/Linux. Para obtener más información sobre NuGet las configuraciones, consulte Configuraciones comunes. NuGet

Configurar nuget o dotnet con el comando login
  1. Configure sus AWS credenciales para usarlas con AWS CLI, tal y como se describe enIntroducción a CodeArtifact.

  2. Asegúrese de que la NuGet CLI herramienta (nugetodotnet) se haya instalado y configurado correctamente. Para obtener instrucciones, consulte la documentación de nuget o dotnet.

  3. Use el CodeArtifact login comando para obtener las credenciales para usarlas con NuGet.

    nota

    Si va a acceder a un repositorio de un dominio de su propiedad, no tiene que incluir --domain-owner. Para obtener más información, consulte Dominios entre cuentas.

    dotnet
    importante

    Usuarios de Linux y macOS: dado que el cifrado no es compatible con plataformas que no son de Windows, las credenciales recuperadas se almacenarán como texto sin formato en el archivo de configuración.

    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

El comando de inicio de sesión hará lo siguiente:

  • Obtenga un token de autorización CodeArtifact utilizando sus credenciales. AWS

  • Actualice su NuGet configuración a nivel de usuario con una nueva entrada para la fuente NuGet del paquete. Se domain_name/repo_name llamará a la fuente que apunta al punto final de su CodeArtifact repositorio.

El período de autorización predeterminado después de una llamada login es de 12 horas y login debe invocarse para actualizar periódicamente el token. Para obtener más información sobre el token de autorización creado con el comando login, consulte Tokens creados con el comando login.

Después de crear un repositorio y configurar la autenticación, puede usar los msbuild CLI clientes nugetdotnet, o para instalar y publicar paquetes. Para obtener más información, consulte Consume paquetes NuGet de CodeArtifact y Publica NuGet paquetes en CodeArtifact.

Método 3: configurar nuget o dotnet sin el comando login

Para la configuración manual, debe añadir un punto final del repositorio y un token de autorización al archivo de NuGet configuración para permitir que nuget o dotnet se conecten a su CodeArtifact repositorio.

Configura manualmente nuget o dotnet para que se conecten a tu repositorio. CodeArtifact

  1. Determine el punto final de su CodeArtifact repositorio mediante el get-repository-endpoint AWS CLI comando.

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

    Ejemplo de salida:

    { "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/" }
  2. Obtén un token de autorización para conectarte a tu repositorio desde tu administrador de paquetes mediante el get-authorization-token AWS CLI comando.

    aws codeartifact get-authorization-token --domain my_domain

    Ejemplo de salida:

    { "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 }
  3. Crea el punto final completo del repositorio URL agregándolo /v3/index.json al URL devuelto por get-repository-endpoint en el paso 3.

  4. Configure nuget o dotnet para usar el punto de conexión del repositorio del paso 1 y el token de autorización del paso 2.

    nota

    La fuente URL debe terminar en /v3/index.json para que nuget o dotnet se conecten correctamente a un repositorio. CodeArtifact

    dotnet

    Usuarios de Linux y macOS: dado que el cifrado no se admite en plataformas que no sean Windows, debe añadir la marca --store-password-in-clear-text al siguiente comando. Tenga en cuenta que esto almacenará la contraseña como texto sin formato en el archivo de configuración.

    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

    Para actualizar una fuente existente, utilice el comando dotnet nuget update source.

    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

    Ejemplo de salida:

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

    Para usar un punto final de doble pila, use el punto final. codeartifact.region.on.aws

Consume paquetes NuGet de CodeArtifact

Una vez que lo haya configurado NuGet CodeArtifact, podrá consumir NuGet los paquetes que estén almacenados en su CodeArtifact repositorio o en uno de sus repositorios anteriores.

Para consumir una versión de paquete de un CodeArtifact repositorio o de uno de sus repositorios anteriores con nuget odotnet, ejecuta el siguiente comando: sustituyendo packageName con el nombre del paquete que desea consumir y packageSourceName con el nombre de la fuente del CodeArtifact repositorio en el archivo NuGet de configuración. Si utilizó el login comando para configurar la NuGet configuración, el nombre de la fuente es domain_name/repo_name.

nota

Cuando se solicita un paquete, el NuGet cliente almacena en caché las versiones de ese paquete que existen. Debido a este comportamiento, es posible que se produzca un error en la instalación de un paquete que se solicitó anteriormente antes de que la versión deseada estuviera disponible. Para evitar este error e instalar correctamente un paquete existente, puede borrar la NuGet memoria caché antes de realizar la instalación con nuget locals all --clear o dotnet nuget locals all --clear bien evitar el uso de la memoria caché durante restore los comandos install y proporcionando la -NoCache opción for nuget o la --no-cache opción fordotnet.

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

Para instalar una versión específica de un paquete

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

Consulte Administrar paquetes mediante nuget.exe CLI o Instalar y administrar paquetes mediante dotnet CLI en la documentación de Microsoft para obtener más información.

Puede consumir NuGet paquetes de NuGet.org a través de un CodeArtifact repositorio configurando el repositorio con una conexión externa a NuGet.org. Los paquetes consumidos desde NuGet.org se ingieren y almacenan en tu CodeArtifact repositorio. Para obtener más información acerca de la adición de conexiones externas, consulte Conectar un CodeArtifact repositorio a un repositorio público.

Publica NuGet paquetes en CodeArtifact

Una vez que lo haya configurado NuGet CodeArtifact, puede usar nuget o publicar versiones de paquetes en dotnet los repositorios. CodeArtifact

Para enviar una versión de paquete a un CodeArtifact repositorio, ejecute el siguiente comando con la ruta completa del .nupkg archivo y el nombre de la fuente del CodeArtifact repositorio en el archivo de NuGet configuración. Si usó el login comando para configurar la NuGet configuración, el nombre de la fuente esdomain_name/repo_name.

nota

Puede crear un NuGet paquete si no tiene uno para publicar. Para obtener más información, consulte el flujo de trabajo de creación de paquetes en la documentación de 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 Referencia del proveedor de credenciales

El proveedor de CodeArtifact NuGet credenciales facilita la configuración y la autenticación NuGet en sus repositorios. CodeArtifact

CodeArtifact NuGet Comandos del proveedor de credenciales

En esta sección se incluye la lista de comandos del proveedor de CodeArtifact NuGet credenciales. Estos comandos deben tener el prefijo dotnet codeartifact-creds como en el siguiente ejemplo.

dotnet codeartifact-creds command
  • configure set profile profile: configura el proveedor de credenciales para que utilice el perfil proporcionado. AWS

  • configure unset profile: elimina el perfil configurado si está establecido.

  • install: copia el proveedor de credenciales en la carpeta plugins.

  • install --profile profile: copia el proveedor de credenciales en la plugins carpeta y lo configura para que utilice el perfil proporcionado. AWS

  • uninstall: desinstala el proveedor de credenciales. Esto no elimina los cambios en el archivo de configuración.

  • uninstall --delete-configuration: desinstala el proveedor de credenciales y elimina todos los cambios en el archivo de configuración.

CodeArtifact NuGet Registros del proveedor de credenciales

Para habilitar el registro para el proveedor de CodeArtifact NuGet credenciales, debe configurar el archivo de registro en su entorno. Los registros del proveedor de credenciales contienen información de depuración útil, como:

  • El AWS perfil utilizado para realizar las conexiones

  • Cualquier error de autenticación

  • Si el punto final proporcionado no es un CodeArtifact URL

Configure el archivo de registro del proveedor de CodeArtifact NuGet credenciales

export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file

Una vez configurado el archivo de registro, cualquier comando codeartifact-creds añadirá su salida de registro al contenido de ese archivo.

CodeArtifact NuGet Versiones del proveedor de credenciales

La siguiente tabla contiene información sobre el historial de versiones y enlaces de descarga del proveedor de CodeArtifact NuGet credenciales.

Versión Cambios Fecha de publicación Enlace de descarga (S3)

1.0.2 (más reciente)

Dependencias actualizadas

26/06/2024

Descargar v1.0.2

1.0.1

Se agregó soporte para net5, net6 y perfiles SSO

05/03/2022

Descargar v1.0.1

1.0.0

Versión inicial de CodeArtifact NuGet Credential Provider

20 de noviembre de 2020

Descargar v1.0.0