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.
Creación de una configuración de sincronización de plantillas
Aprenda a crear una configuración de sincronización de plantillas con AWS Proton.
Requisitos previos para crear una configuración de sincronización de plantillas:
-
Haber vinculado un repositorio con AWS Proton.
-
Que un paquete de plantillas se encuentre en el repositorio del usuario.
El enlace al repositorio consta de lo siguiente:
-
Una CodeConnections conexión que da AWS Proton permiso para acceder a tu repositorio y suscribirte a sus notificaciones.
-
Un rol vinculado a un servicio. Al vincular el repositorio, el rol vinculado al servicio se creará para el usuario.
Antes de crear su primera configuración de sincronización de plantillas, envíe un paquete de plantillas al repositorio, tal y como se muestra en el siguiente diseño de directorios.
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/
Tras crear la primera configuración de sincronización de plantillas, las nuevas versiones de las plantillas se crean automáticamente al insertar una confirmación que agrega un paquete de plantillas actualizadas a una versión nueva (por ejemplo, en /my-env-template/v2/
).
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
Puedes incluir nuevas versiones de paquetes de plantillas para una o más plantillas configuradas para la sincronización en una sola confirmación. AWS Proton crea una nueva versión de plantilla para cada nueva versión del paquete de plantillas que se incluyó en la confirmación.
Después de crear la configuración de sincronización de plantillas, aún puede crear nuevas versiones de la plantilla manualmente en la consola o con ella AWS CLI cargando paquetes de plantillas desde un bucket de S3. La sincronización de plantillas solo funciona en una dirección: desde tu repositorio hasta. AWS Proton Las versiones de plantillas creadas manualmente no se sincronizan.
Después de configurar una configuración de sincronización de plantillas, AWS Proton escucha los cambios en tu repositorio. Cada vez que se realiza un cambio, se busca cualquier directorio que tenga el mismo nombre que la plantilla. A continuación, busca dentro de ese directorio cualquier directorio que parezca una versión principal. AWS Proton registra el paquete de plantillas en la versión principal de la plantilla correspondiente. Las nuevas versiones están siempre en el estado DRAFT
. Puede publicar las nuevas versiones con la consola o AWS CLI.
Por ejemplo, supongamos que tiene una plantilla llamada my-env-template
configurada para sincronizarse desde my-repo/templates
en una ramificación main
con el siguiente diseño.
/code /code/service.go README.md /templates/ /templates/my-env-template/ /templates/my-env-template/v1/ /templates/my-env-template/v1/infrastructure/ /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
AWS Proton sincroniza el contenido de /templates/my-env-template/v1/
to my-env-template:1
y el contenido de /templates/my-env-template/v2/
tomy-env-template:2
. Si aún no existen, se crearán estas versiones principales.
AWS Proton encontró el primer directorio que coincide con el nombre de la plantilla. Puede limitar las AWS Proton búsquedas de directorios especificando una configuración de sincronización subdirectoryPath
al crear o editar una plantilla. Por ejemplo, puede especificar /production-templates/
para subdirectoryPath
.
Puede crear una configuración de sincronización de plantillas mediante la consola o la CLI.
Sincronización de plantillas de servicio
En los siguientes ejemplos se muestra cómo se pueden sincronizar las plantillas de entorno. Las plantillas de servicio son similares. Para sincronizar las plantillas de servicio, añada un archivo adicional con el nombre de .template-registration.yaml
a cada directorio de versiones principales del paquete de plantillas. Este archivo contiene los detalles adicionales que se AWS Proton necesitan cuando se crea una versión de la plantilla de servicio para usted tras una confirmación. Cuando se crea de forma explícita una versión de plantilla de servicio mediante la AWS Proton consola o la API, se proporcionan estos detalles como entradas y este archivo reemplaza estas entradas para la sincronización de la plantilla.
./templates/ # subdirectory (optional) /templates/my-svc-template/ # service template name /templates/my-svc-template/v1/ # service template version /templates/my-svc-template/v1/.template-registration.yaml # service template version properties /templates/my-svc-template/v1/instance_infrastructure/ # template bundle /templates/my-svc-template/v1/schema/
El archivo .template-registration.yaml
contiene los siguientes detalles:
-
Entornos compatibles [obligatorio]: los entornos basados en estas plantillas de entorno y en las versiones principales son compatibles con los servicios basados en esta versión de la plantilla de servicio.
-
Orígenes de componentes compatibles [opcional]: los componentes que utilizan estos orígenes son compatibles con los servicios en función de esta versión de plantilla de servicio. Si no se especifica, los componentes no se pueden conectar a estos servicios. Para obtener más información sobre los componentes, consulte Componentes de AWS Proton.
La sintaxis YAML del archivo es la siguiente:
compatible_environments: -
env-templ-name
:major-version
- ... supported_component_sources: - DIRECTLY_DEFINED
Especifique una o más combinaciones de plantillas de entorno o de versiones principales. Especificar supported_component_sources
es opcional y el único valor admitido es DIRECTLY_DEFINED
.
ejemplo .template-registration.yaml
En este ejemplo, la versión de la plantilla de servicio es compatible con las versiones principales 1 y 2 de la plantilla de entorno my-env-template
. También es compatible con las versiones principales 1 y 3 de la plantilla de entorno another-env-template
. El archivo no especifica supported_component_sources
, por lo que los componentes no se pueden conectar a los servicios basados en esta versión de la plantilla de servicio.
compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
nota
Anteriormente, AWS Proton se definió un archivo diferente para especificar los entornos compatibles. .compatible-envs
AWS Proton sigue siendo compatible con ese archivo y su formato por motivos de compatibilidad con versiones anteriores. No recomendamos seguir utilizándolo, ya que no es extensible y no admite características más nuevas como los componentes.