Conceptos de Artifact Registry
Revise los conceptos y los términos relacionados con el registro de artefactos.
Un artefacto es un paquete de software, una biblioteca, un archivo zip o cualquier otro tipo de archivo utilizado para desplegar aplicaciones. Algunos ejemplos son las bibliotecas de Python o Maven. Los artefactos se agrupan en repositorios, que son recopilaciones de artefactos relacionados. Por ejemplo, puede agrupar varias versiones de un artefacto de Maven en un repositorio de Maven, o bien cargar las bibliotecas de Python en un repositorio de Python.
Nombres de repositorio y artefactos en Artifact Registry
Al crear un repositorio en el que agrupar artefactos similares, se le asigna un nombre de repositorio <repo-name>. El nombre debe comenzar con una letra o guion bajo, seguido de letras, números, guiones o guiones bajos. La longitud puede abarcar entre 1 y 255 caracteres. Evite introducir información confidencial.
Ejemplo: web-app-repo
Si deja el nombre en blanco, el sistema generará automáticamente un nombre que podrá cambiar posteriormente. Un nombre generado automáticamente tiene el siguiente patrón: artifactrepository<timestamp>
Ejemplo: artifactrepository20210423180901
Al cargar un artefacto en un repositorio, especifique una ruta y una versión para él. Según la entrada, se asigna un nombre de artefacto al artefacto con el siguiente formato:
<artifact-path>:<version>
Ejemplo: project01/my-web-app/artifact-abc:1.0.0
- La ruta de artefactos <artifact-path> es una ruta definida por el usuario que describe la ubicación del artefacto en el repositorio. Las barras no crean una estructura de directorios, pero puede utilizar barras para organizar el repositorio.
Ejemplo: project01/my-web-app/artifact-abc
- La versión <version> es la versión del artefacto. Debido a las actualizaciones incrementales de los artefactos, puede asignar versiones a los artefactos. De esta forma, puede asociar las compilaciones a las versiones del artefacto y realizar un rollback a versiones anteriores.
Ejemplos: 1.1.0 o 1.2-beta-2
Un nombre de artefacto se trunca a una longitud máxima de 255.
Artefactos inmutables en Registro de artefactos
Al crear un repositorio, puede designarlo como inmutable, lo que significa que los artefactos cargados en él se convierten en inmutables. Estos artefactos se utilizan tal cual y no se pueden sustituir. Los repositorios inmutables garantizan la integridad de los artefactos. A continuación, se muestran algunos casos de uso comunes para artefactos inmutables:
- Reversión de un despliegue: para un rollback, utilice los archivos exactos de la versión de trabajo anterior de un despliegue. Los artefactos inmutables garantizan que nadie ha cambiado la última versión de trabajo después de cargar los artefactos en el repositorio.
- Código de contribución: en un proyecto de despliegue, para asegurarse de que el cambio de código de un desarrollador no afecta a otros, la mejor práctica es convertir todos los artefactos en inmutables. Por ejemplo, si tiene una imagen de un conejo en website-image.png, nadie puede sobrescribirla con una imagen de un zorro. La sustitución de una imagen no interrumpe el código, pero cambia el resultado. En lugar de sustituir un artefacto inmutable, cargue un nuevo artefacto.
La supresión de un artefacto y, a continuación, el uso del mismo nombre de artefacto para cargar un nuevo artefacto es igual que la sobrescritura del contenido de ese artefacto.
Se puede suprimir un artefacto inmutable, pero no se puede sustituir. Si suprime un artefacto invariable, no puede asignar su nombre a otro artefacto. Por lo tanto, no puede cargar un nuevo artefacto y asignarlo a la ruta y la versión de este. Sin embargo, puede asignarle la misma ruta con una nueva versión.
Si un repositorio no es inmutable, los artefactos que contiene se pueden sobrescribir. Por ejemplo, puede utilizar instantáneas mutables de repositorios inmutables para las pruebas.
Estados de artefactos en Registro de artefactos
Puede filtrar los artefactos en un repositorio por sus estados. Los estados posibles son:
AVAILABLE
DELETED
Por ejemplo, antes de asignar un nombre a un artefacto, puede filtrar los artefactos con un DELETED
estado. De esta forma, puede asegurarse de que al cargar un nuevo artefacto, no utilice el nombre de un artefacto suprimido.
Al cargar un componente en un repositorio, Artifact Registry calcula el resumen de SHA256 para el componente y lo agrega a sus propiedades. El resumen de SHA256 es un algoritmo hash seguro de 256 bits.
Identificación de artefactos con hash seguro en Artifact Registry
Al realizar un rollback o utilizar un artefacto en el código, compare su resumen de SHA256 con el resumen de SHA256 del artefacto en el repositorio. Si los artefactos tienen diferentes resúmenes de SHA256, su contenido es diferente.