Proyectos de esquemas personalizados - Amazon CodeCatalyst

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.

Proyectos de esquemas personalizados

Estos son algunos conceptos y términos que debe conocer cuando trabaja con esquemas personalizados en CodeCatalyst.

Proyecto de esquemas

Un proyecto de esquemas le ofrece la posibilidad de desarrollar y publicar esquemas para su espacio. Durante el proceso de creación del proyecto, se crea un repositorio de código fuente y el nombre del repositorio es el que se eligió al introducir los detalles de recursos del proyecto. Durante el proceso de creación del esquema, si decide generar una versión del flujo de trabajo, se crea un flujo de trabajo de publicación en el esquema con el esquema Blueprint Builder. El flujo de trabajo publica automáticamente su última versión.

Esquemas del espacio

Puede ver y administrar todos los esquemas desde la tabla Esquemas del espacio cuando acceda a la sección Esquemas de su espacio. Una vez publicados los esquemas en su espacio, estarán disponibles como esquemas del espacio para añadirlos y eliminarlos del catálogo de esquemas del espacio. También puede administrar los permisos de publicación y eliminar los esquemas desde la sección Esquemas del espacio. Para obtener más información, consulte Visualización de los detalles, las versiones y los proyectos de un esquema personalizado.

Catálogo de esquemas del espacio

Puede ver todos los esquemas personalizados añadidos desde el catálogo de esquemas de un espacio. Aquí es donde un miembro del espacio puede elegir su esquema personalizado para crear un nuevo proyecto. Este catálogo es diferente del catálogo de CodeCatalyst, que ya tiene esquemas disponibles para todos los miembros del espacio. Para obtener más información, consulte Creación de un proyecto integral con CodeCatalyst planos.

Síntesis

La síntesis es el proceso de generar un paquete del proyecto de CodeCatalyst que representa el código fuente, la configuración y los recursos de un proyecto. A continuación, las operaciones de la API de implementación de CodeCatalyst utilizan el paquete para implementarlo en un proyecto. El proceso se puede ejecutar localmente mientras se desarrolla un esquema personalizado para emular la creación del proyecto sin tener que crear un proyecto en CodeCatalyst. Se pueden usar los siguientes comandos para realizar la síntesis:

yarn blueprint:synth # fast mode yarn blueprint:synth --cache # wizard emulation mode

El esquema comienza él solo llamando a la clase principal blueprint.ts con esa opción combinada en defaults.json. Se genera un nuevo paquete del proyecto en la carpeta synth/synth.[options-name]/proposed-bundle/. El resultado incluye el paquete del proyecto que genera un esquema personalizado, según las opciones que haya establecido, incluidas las opciones parciales que haya configurado.

Resíntesis

La resíntesis es el proceso de volver a generar un esquema con diferentes opciones de esquema o versiones de esquemas de proyectos existentes. Como autor de un esquema, puede definir estrategias de combinación personalizadas en el código del esquema personalizado. También puede definir los límites de propiedad en un .ownership-file para especificar en qué partes del código base se permite actualizar un esquema. Aunque el esquema personalizado puede proponer actualizaciones en el .ownership-file, los desarrolladores de proyectos que lo utilicen pueden determinar los límites de propiedad de sus proyectos. Puede ejecutar la resíntesis de forma local y probarla y actualizarla antes de publicar su esquema personalizado. Utilice los siguientes comandos para realizar la resíntesis:

yarn blueprint:resynth # fast mode yarn blueprint:resynth --cache # wizard emulation mode

El esquema comienza él solo llamando a la clase principal blueprint.ts con esa opción combinada en defaults.json. Se genera un nuevo paquete del proyecto en la carpeta synth/resynth.[options-name]/. El resultado incluye el paquete del proyecto que genera un esquema personalizado, según las opciones que haya establecido, incluidas las opciones parciales que haya configurado.

Tras los procesos de síntesis y resíntesis, se crea el siguiente contenido:

  • proposed-bundle: el resultado de la síntesis cuando se ejecuta con nuevas opciones para la versión del esquema objetivo.

  • existing-bundle: un simulacro de su proyecto actual. Si no hay nada en esta carpeta, se genera con el mismo resultado que el proposed-bundle.

  • ancestor-bundle: un simulacro de lo que generaría su esquema si lo ejecutara con una versión anterior, con opciones anteriores o con una combinación de estas. Si no hay nada en esta carpeta, se genera con el mismo resultado que el proposed-bundle.

  • resolved-bundle: el paquete siempre se regenera y, de forma predetermina, se establece en una combinación a tres bandas entre el proposed-bundle, existing-bundle y el ancestor-bundle. Este paquete proporciona una emulación de lo que generaría una resíntesis de forma local.

Para obtener más información sobre los paquetes de resultado del esquema, consulte Generación de archivos con resíntesis.

Opciones parciales

Puede añadir variantes de opciones en src/wizard-configuration/ para no tener que enumerar toda la interfaz Options. Las opciones se combinan en la parte superior del archivo defaults.json. Esto le permite adaptar los casos de prueba a distintas opciones.

Ejemplo:

Interfaz Options:

{ language: "Python" | "Java" | "Typescript", repositoryName: string ... }

Archivo defaults.json:

{ language: "Python", repositoryName: "Myrepo" ... }

Pruebas de configuración adicionales:

  • #wizard-config-typescript-test.json { language: "Typescript", }
  • #wizard-config-java-test.json { language: "Java", }

Projen

Projen es una herramienta de código abierto que utilizan los esquemas personalizados para mantenerse actualizados y seguir siendo coherentes. Los esquemas se distribuyen como paquetes de Projen porque este marco le permite crear, agrupar y publicar proyectos, y puede usar la interfaz para administrar las configuraciones y los ajustes de un proyecto.

Puede usar Projen para actualizar los esquemas a escala, incluso después de haberlos creado. La herramienta Projen es la tecnología subyacente a la síntesis de esquemas que genera un paquete de proyecto. Projen es el propietario de la configuración de un proyecto y esto no debería afectarle a usted como autor de esquemas. Puede ejecutar yarn projen para volver a generar la configuración del proyecto después de añadir las dependencias o bien puede cambiar las opciones en el archivo projenrc.ts. Projen también es la herramienta de generación subyacente de esquemas personalizados para sintetizar un proyecto. Para obtener más información, consulte la página de GitHub de Projen. Para obtener más información sobre cómo trabajar con projen, consulte la documentación de Projen.