Conceptos de AWS CodeArtifact - 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.

Conceptos de AWS CodeArtifact

Estos son algunos conceptos y términos que debe conocer cuando usa CodeArtifact.

Recurso

Un activo es un archivo individual almacenado en CodeArtifact que está asociado con una versión del paquete, como un archivo .tgz npm o archivos Maven POM y JAR.

Dominio

Los repositorios se agregan en una entidad de nivel superior conocida como dominio. Todos los activos y metadatos del paquete se almacenan en el dominio, pero se consumen en los repositorios. Un activo de paquete determinado, como un archivo JAR de Maven, se almacena una vez por dominio, independientemente del número de repositorios en los que esté presente. Todos los activos y metadatos de un dominio se cifran con la misma AWS KMS key (clave KMS) almacenada en AWS Key Management Service (AWS KMS).

Cada repositorio es miembro de un único dominio y no se puede mover a un dominio diferente.

Con un dominio, puede aplicar una política organizativa en varios repositorios. Con este enfoque, determina qué cuentas pueden acceder a los repositorios del dominio y qué repositorios públicos se pueden usar como fuentes de paquetes.

Aunque una organización puede tener varios dominios, recomendamos un único dominio de producción que contenga todos los artefactos publicados. De esta forma, los equipos pueden buscar y compartir paquetes en toda la organización.

Repositorio

Un repositorio de CodeArtifact contiene un conjunto de versiones de paquetes, cada una de las cuales se asigna a un conjunto de activos. Los repositorios son políglotas: un único repositorio puede contener paquetes de cualquier tipo compatible. Cada repositorio expone puntos de conexión para obtener y publicar paquetes mediante herramientas como la CLI nuget, la CLI npm, la CLI de Maven (mvn) y pip. Puede crear hasta 1000 repositorios por dominio.

Paquete

Un paquete es un paquete de software y los metadatos necesarios para resolver las dependencias e instalar el software. En CodeArtifact, un paquete consta de un nombre de paquete, un espacio de nombres opcional como @types en @types/node, un conjunto de versiones del paquete y metadatos a nivel de paquete, como las etiquetas npm.

AWS CodeArtifact admite los formatos de paquetes npm, PyPI, Maven, NuGet y generic.

Espacio de nombres de paquetes

Algunos formatos de paquetes admiten nombres de paquetes jerárquicos para organizar los paquetes en grupos lógicos y evitar colisiones de nombres. Por ejemplo, npm admite alcances. Para obtener más información, consulte la documentación de alcances de npm. El paquete npm @types/node tiene un alcance @types y un nombre de node. Hay muchos otros nombres de paquetes en el alcance @types. En CodeArtifact, el alcance («tipos») se denomina espacio de nombres del paquete y el nombre («nodo») se denomina nombre del paquete. En el caso de los paquetes de Maven, el espacio de nombres del paquete corresponde al ID de grupo de Maven. El paquete Maven org.apache.logging.log4j:log4j tiene un groupID (espacio de nombres del paquete) de org.apache.logging.log4j y un artifactID (nombre del paquete) log4j. Para los paquetes genéricos, se requiere un espacio de nombres. Algunos formatos de paquetes, como PyPI, no admiten nombres jerárquicos con un concepto similar al alcance de npm o al ID de grupo de Maven. Sin una forma de agrupar los nombres de los paquetes, puede resultar más difícil evitar las colisiones de nombres.

Versión de paquete

La versión de un paquete identifica la versión específica de un paquete, por ejemplo @types/node 12.6.9. El formato y la semántica del número de versión varían según los distintos formatos de paquete. Por ejemplo, las versiones del paquete npm deben cumplir con la especificación de control de versiones semántico. En CodeArtifact, la versión de un paquete consta del identificador de la versión, los metadatos a nivel de versión del paquete y un conjunto de activos.

Revisión de la versión del paquete

La revisión de la versión de un paquete es una cadena que identifica un conjunto específico de activos y metadatos para una versión de paquete. Cada vez que se actualiza la versión de un paquete, se crea una nueva revisión de la versión del paquete. Por ejemplo, puede publicar un archivo de distribución de código fuente (sdist) para una versión de paquete de Python y, posteriormente, añadir una rueda de Python que contenga código compilado a la misma versión. Al publicar la rueda, se crea una nueva revisión de la versión del paquete.

Repositorio ascendente

Un repositorio es ascendente de otro cuando se puede acceder a las versiones de los paquetes que contiene desde el punto de conexión del repositorio descendente. Este enfoque fusiona de manera efectiva el contenido de los dos repositorios desde el punto de vista de un cliente. Con CodeArtifact, puede crear una relación ascendente entre dos repositorios.