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 los utilice CodeArtifact.
Temas
activo
Un activo es un archivo individual almacenado y asociado a una versión de paquete, como un .tgz
archivo npm o archivos POM y JAR de Maven. CodeArtifact
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 CodeArtifact repositorio 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
in@types/node
, un conjunto de versiones del paquete y metadatos a nivel de paquete, como las etiquetas npm.
AWS CodeArtifact admite los formatos de paquete Cargo, generic, Maven, npm, NuGetPyPI, Ruby y Swift.
Grupo de paquetes
Los grupos de paquetes se pueden usar para aplicar la configuración a varios paquetes que coincidan con un patrón definido mediante el formato del paquete, el espacio de nombres del paquete y el nombre del paquete. Puede utilizar los grupos de paquetes para configurar de forma más cómoda los controles de origen de los paquetes para varios paquetes. Los controles de origen de los paquetes se utilizan para bloquear o permitir la ingesta o publicación de nuevas versiones de paquetes, lo que protege a los usuarios de acciones maliciosas conocidas como ataques de sustitución de dependencias.
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@types/node
tiene un alcance @types
y un nombre de node
. Hay muchos otros nombres de paquetes en el alcance @types
. En CodeArtifact, el ámbito («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
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 él, puede crear una relación ascendente entre dos repositorios.