Configurar y usar twine con CodeArtifact - CodeArtifact

Configurar y usar twine con CodeArtifact

twine es una utilidad de publicación de paquetes para paquetes de Python. Para usar twine para publicar paquetes de Python en su repositorio de CodeArtifact, primero debe configurar twine con la información y las credenciales de su repositorio de CodeArtifact.

twine solo se puede usar para publicar paquetes de Python. Para instalar paquetes de Python, puede usar pip. Para obtener más información, consulte Configurar y usar pip con CodeArtifact.

Configurar twine con el comando login

En primer lugar, configure sus credenciales de AWS para usarlas con AWS CLI, tal y como se describe en Introducción a CodeArtifact. A continuación, utilice el comando login de CodeArtifact para obtener las credenciales y configurar twine con ellas.

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.

Ejecute el siguiente comando para configurar el hilo.

aws codeartifact login --tool twine --domain my_domain --domain-owner 111122223333 --repository my_repo

login obtiene un token de autorización de CodeArtifact con sus credenciales de AWS. El comando login configura twine para usarlo con CodeArtifact editando ~/.pypirc para agregar el repositorio especificado por la opción --repository con credenciales.

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.

Configurar twine sin el comando login

Si no puede usar el comando login para configurar twine, puede usar el archivo ~/.pypirc o las variables de entorno. Para usar el archivo ~/.pypirc, agréguele las siguientes entradas. La contraseña debe ser un token de autenticación adquirido por la API get-authorization-token.

[distutils] index-servers = codeartifact [codeartifact] repository = https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/pypi/my_repo/ password = auth-token username = aws
nota

Si quiere utilizar un punto de conexión de pila doble, use el punto de conexión codeartifact.region.on.aws.

Para utilizar variables de entorno, haga lo siguiente.

nota

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

export TWINE_USERNAME=aws export TWINE_PASSWORD=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text` export TWINE_REPOSITORY_URL=`aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format pypi --query repositoryEndpoint --output text`

Ejecutar twine

Antes de usar twine para publicar los activos del paquete de Python, primero debe configurar los permisos y recursos de CodeArtifact.

  1. Siga los pasos de la sección Configuración con AWS CodeArtifact para configurar su cuenta de AWS, sus herramientas y sus permisos.

  2. Configure twine siguiendo los pasos que se indican en Configurar twine con el comando login o Configurar twine sin el comando login.

Tras configurar twine, puede ejecutar comandos twine. Utilice el siguiente comando para publicar los activos del paquete de Python.

twine upload --repository codeartifact mypackage-1.0.tgz

Para obtener información sobre cómo crear y empaquetar una aplicación de Python, consulte Generación de archivos de distribución en el sitio web de Python Packaging Authority.