Tutorial: Cómo crear una aplicación completa con planos componibles PDK - 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.

Tutorial: Cómo crear una aplicación completa con planos componibles PDK

Amazon CodeCatalyst ofrece varios planos diferentes para ayudarte a empezar con tus proyectos rápidamente. Un proyecto creado con un plan incluye los recursos que necesitas, como un repositorio fuente, ejemplos de código fuente, flujos de trabajo de CI/CD, informes de creación y prueba y herramientas integradas de seguimiento de problemas. Sin embargo, a veces es posible que desee crear un proyecto de forma gradual o añadir funcionalidad a un proyecto existente creado mediante un plano. También puede hacerlo con planos. En este tutorial se muestra cómo empezar con un único plano que sienta las bases y permite almacenar todo el código del proyecto en un único repositorio. A partir de ahí, tendrá la flexibilidad de incorporar recursos e infraestructura adicionales al plan inicial, según le convenga. A través de este método básico, puede abordar requisitos específicos en varios proyectos.

En este tutorial, se muestra cómo crear varios planos del kit de desarrollo de AWS proyectos (AWSPDK) para crear una aplicación compuesta por un sitio web de React, SmithyAPI, y la CDK infraestructura de apoyo en la que desplegarla. AWS AWSPDKProporciona los elementos básicos para crear patrones comunes, junto con herramientas de desarrollo para gestionar y crear tus proyectos. Para obtener más información, consulte el repositorio AWS PDK GitHub de fuentes.

Los siguientes PDK planos están diseñados para usarse juntos a fin de crear una aplicación de forma que pueda componerse:

  • Monorepo: crea un proyecto a nivel raíz que gestiona las interdependencias entre los proyectos dentro del monorepo. El proyecto también proporciona almacenamiento en caché de compilación y visualización de dependencias.

  • Type Safe API: crea un código API que se puede definir en Smithy o Open API v3, y gestiona la generación de código en tiempo de compilación para que puedas implementarlo e interactuar con él de forma segura. API Ofrece una CDK estructura que gestiona el despliegue de su dispositivo en Gateway y configura la validación automática de API las entradasAPI.

  • Sitio web de Cloudscape React: crea un sitio web basado en React creado con Cloudscape que viene preintegrado con Cognito Auth y (opcionalmente) creado por ustedAPI, lo que le permite llamar de forma segura. API

  • Infraestructura: crea un proyecto que configura toda la infraestructura relacionada necesaria para implementar la aplicación. CDK También viene preconfigurado para generar un diagrama basado en el CDK código cada vez que se crea.

  • DevOps- Crea DevOps flujos de trabajo compatibles con las construcciones que se encuentran en el kit de desarrollo de AWS proyectos () AWSPDK.

El tutorial también incluye pasos sobre cómo ver la aplicación desplegada, invitar a otros usuarios a trabajar en ella y realizar cambios en el código mediante solicitudes de extracción que se crean e implementan automáticamente en los recursos de la AWS cuenta conectada cuando se fusiona la solicitud de extracción.

Cuando creas un proyecto compuesto por PDK planos, tu proyecto se crea con los siguientes recursos en un CodeCatalyst proyecto:

  • Un repositorio de origen configurado como monorepo.

  • Un flujo de trabajo que ejecuta el análisis de código estático y la verificación de licencias, además de compilar e implementar el código de muestra cada vez que se realiza un cambio en la rama predeterminada. Cada vez que se realizan cambios en el código, se genera un diagrama de arquitectura.

  • Un panel de problemas y una lista de tareas pendientes que puede utilizar para planificar y realizar un seguimiento del trabajo.

  • Un conjunto de informes de pruebas con informes automatizados.

Requisitos previos

Para crear y actualizar un proyecto, debe haber completado las tareas de la Configurar e iniciar sesión en CodeCatalyst siguiente manera:

Paso 1: Crear un proyecto monorepo

Comience con el PDK plano Monorepo para crear su base de código monorepo que sirva de base y le permita añadir planos adicionales. PDK

Para crear un proyecto utilizando el plano - Monorepo PDK

  1. Abra la CodeCatalyst consola en https://codecatalyst.aws/.

  2. En la CodeCatalyst consola, navegue hasta el espacio en el que desee crear un proyecto.

  3. En el panel de control del espacio, seleccione Crear proyecto.

  4. Selecciona Empezar con un plano.

  5. Elija el plano PDK- Monorepo y, a continuación, elija Siguiente.

  6. En Asigne un nombre a su proyecto, introduzca el nombre que desee asignar al proyecto y los nombres de los recursos asociados. El nombre debe ser único dentro de su espacio.

  7. En Recursos del proyecto, haga lo siguiente:

    1. En Lenguaje de programación principal, elige el lenguaje en el que quieras desarrollar el código del proyecto. Puede elegir TypeScript entre Java o Python.

    2. Elija la configuración del código

    3. En el campo de entrada de texto del repositorio de origen, introduzca el nombre de un repositorio de origen, que creará un repositorio nuevo, o seleccione uno de los repositorios enlazados existentes. El repositorio existente debe estar vacío. Para obtener más información, consulte Vincular un repositorio de código fuente.

    4. (Opcional) En el menú desplegable Package Manager, selecciona un administrador de paquetes. Esto solo es necesario si seleccionaste TypeScript como lenguaje de programación principal.

  8. (Opcional) Para obtener una vista previa del código que se generará en función de las selecciones de parámetros del proyecto que haya realizado, seleccione Ver código en Generar vista previa del proyecto.

  9. (Opcional) Seleccione Ver detalles en la tarjeta del plano para ver detalles específicos del plano, como una descripción general de la arquitectura del plan, las conexiones y los permisos necesarios y el tipo de recursos que crea el plan.

  10. Elija Crear proyecto para crear su proyecto monorepo. El proyecto de nivel raíz creado gestiona las interdependencias entre los proyectos dentro del monorepo, además de proporcionar almacenamiento en caché de compilación y administración de dependencias.

    Para obtener más información sobre los planos de los proyectos, consulte. Creación de un proyecto integral con CodeCatalyst planos

El PDK plano Monorepo solo genera la base del proyecto. Para crear una aplicación que funcione utilizando el plano, es necesario añadir otros modelos, como Type Safe, PDK Cloudscape React WebsiteAPI, Infrastructure o. DevOps En el siguiente paso, añadirás un Type Safe al proyecto. API

Paso 2: Añadir Type Safe API al proyecto

El PDK API modelo Type Safe permite definir y API utilizar Smithy o OpenAI v3. Genera paquetes de tiempo de ejecución a partir de su API definición, que incluyen clientes para interactuar con usted API y código del lado del servidor para implementar la suya. API El plano también genera una CDK estructura con seguridad tipográfica para cada operación. API Puede añadir el plano a un proyecto PDK monorepo existente para añadir API capacidades al proyecto.

Para añadir el plano PDK - Escriba Safe API

  1. En el panel de navegación de su proyecto de monorepo, elija Blueprints y, a continuación, elija Agregar blueprint.

  2. Seleccione la opción PDK- Escriba Safe API blueprint y, a continuación, elija Siguiente.

  3. En Configurar el blueprint, configure los parámetros del blueprint:

    • En Idioma del modelo, elija el idioma en el que está definido el API modelo.

    • En el campo de entrada de texto del espacio de nombres, introduzca un espacio de nombres para su. API

    • En el campo de entrada de texto APIdel nombre, introduce un nombre para tu. API

    • En CDKIdioma, elija el idioma que prefiera para escribir la CDK infraestructura API en la que desplegarla.

    • Selecciona el menú desplegable de idiomas de los controladores y, a continuación, elige los idiomas en los que deseas implementar los controladores para API las operaciones.

    • Selecciona el menú desplegable Formatos de documentación y, a continuación, elige los formatos que deseas para generar la documentación. API

  4. En la pestaña Cambios de código, revisa los cambios propuestos. La diferencia que se muestra en una solicitud de extracción muestra los cambios en tu proyecto en el momento en que se creó la solicitud de extracción.

  5. Cuando estés satisfecho con los cambios propuestos que se realizarán cuando se aplique el blueprint, selecciona Añadir blueprint.

    Una vez creada una solicitud de incorporación de cambios, puedes añadir comentarios. Los comentarios se pueden añadir a la solicitud de extracción o a líneas individuales de los archivos, así como a la solicitud de extracción en general. Puedes añadir enlaces a un recurso, como archivos, utilizando el @ signo seguido del nombre del archivo.

    nota

    El esquema no se aplicará hasta que se apruebe y fusione la solicitud de extracción. Para obtener más información, consulte Revisión de una solicitud de extracción y Fusión de una solicitud de extracción.

  6. En la columna Estado, selecciona la solicitud de extracción pendiente para la fila del API blueprint PDK(Escriba de forma segura) y, a continuación, selecciona el enlace de la solicitud de extracción abierta.

  7. Selecciona Fusionar, elige tu estrategia de fusión preferida y, a continuación, selecciona Fusionar para incorporar los cambios del esquema aplicado.

    Tras fusionar la solicitud de cambios, se generará una nueva packages/apis/mypdkapi carpeta en tu proyecto monorepo, que contiene todo el código fuente API relacionado con tu Type Safe configurado. API

  8. En el panel de navegación, selecciona Blueprints para confirmar que el estado del PDKtipo seguro es API actualizado.

Paso 3: Añadir un sitio web de Cloudscape React para el proyecto

El PDK plano del sitio web de Cloudscape React genera un sitio web. Puedes asociar un parámetro opcional (Type SafeAPIs) para configurar automáticamente tu sitio web y configurar clientes autenticados y seguros, además de un API explorador interactivo para probar los distintos. API

Para añadir el plano del sitio PDK web: Cloudscape React

  1. En el panel de navegación de tu proyecto de monorepo, selecciona Blueprints y, a continuación, selecciona Añadir blueprint.

  2. Elige el plano del PDKsitio web de Cloudscape React y, a continuación, selecciona Siguiente.

  3. En Configurar el blueprint, configure los parámetros del blueprint:

    • En el campo de entrada de texto del nombre del sitio web, introduzca un nombre para el sitio web.

    • Selecciona el menú APIs desplegable Type Safe y, a continuación, selecciona los API planos que deseas integrar en el sitio web. Al pasar una, se API configuran los clientes autenticados y se añaden las dependencias, el API explorador y otras funciones necesarias.

  4. En la pestaña Cambios de código, revisa los cambios propuestos. La diferencia que se muestra en una solicitud de extracción muestra los cambios en tu proyecto en el momento en que se creó la solicitud de extracción.

  5. Cuando estés satisfecho con los cambios propuestos que se realizarán cuando se aplique el blueprint, selecciona Añadir blueprint.

    Una vez creada una solicitud de incorporación de cambios, puedes añadir comentarios. Los comentarios se pueden añadir a la solicitud de extracción o a líneas individuales de los archivos, así como a la solicitud de extracción en general. Puedes añadir enlaces a un recurso, como archivos, utilizando el @ signo seguido del nombre del archivo.

    nota

    El esquema no se aplicará hasta que se apruebe y fusione la solicitud de extracción. Para obtener más información, consulte Revisión de una solicitud de extracción y Fusión de una solicitud de extracción.

  6. En la columna Estado, selecciona Solicitud de extracción pendiente para la PDK fila de planos del sitio web de Cloudscape React y, a continuación, selecciona el enlace de la solicitud de extracción abierta.

  7. Selecciona Fusionar, elige tu estrategia de fusión preferida y, a continuación, selecciona Fusionar para incorporar los cambios del esquema aplicado.

    Tras fusionar la solicitud de cambios, se generará una nueva packages/websites/my-website-name carpeta dentro de tu proyecto monorepo, que contiene todo el código fuente de tu nuevo sitio web.

  8. En el panel de navegación, selecciona Blueprints para confirmar que el estado del sitio web de Cloudscape React es actualizado. PDK

A continuación, añadirá el PDK plan de infraestructura para generar la infraestructura necesaria para implementar su sitio web en la nube. AWS

Paso 4: Genere la infraestructura para implementar la aplicación en la nube AWS

El PDK plan de infraestructura configura un paquete que contiene todo el CDK código para implementar su sitio web yAPI. También proporciona la generación de diagramas y la conformidad con el paquete de creación de prototipos de forma predeterminada.

Para agregar el plano de infraestructura PDK

  1. En el panel de navegación de su proyecto monorepo, elija Blueprints y, a continuación, elija Agregar blueprint.

  2. Elija el plano de infraestructura yPDK, a continuación, elija Siguiente.

  3. En Configurar el blueprint, configure los parámetros del blueprint:

    • En CDKIdioma, elija el idioma con el que desee desarrollar su infraestructura.

    • En el campo de entrada de texto del nombre de la pila, introduzca el nombre de la CloudFormation pila generada para el blueprint.

      nota

      Toma nota del nombre de esta pila para el siguiente paso, en el que configurarás un DevOps flujo de trabajo.

    • Selecciona el menú APIs desplegable Type Safe y, a continuación, elige los API planos que deseas integrar en el sitio web.

    • Selecciona el menú desplegable de sitios web de Cloudscape React TS y, a continuación, selecciona los planos de sitios web que deseas implementar en tu infraestructura (por ejemplo, PDK - Sitio web de Cloudscape React).

  4. En la pestaña Cambios de código, revisa los cambios propuestos. La diferencia que se muestra en una solicitud de extracción muestra los cambios en tu proyecto en el momento en que se creó la solicitud de extracción.

  5. Cuando estés satisfecho con los cambios propuestos que se realizarán cuando se aplique el blueprint, selecciona Añadir blueprint.

    Una vez creada una solicitud de incorporación de cambios, puedes añadir comentarios. Los comentarios se pueden añadir a la solicitud de extracción o a líneas individuales de los archivos, así como a la solicitud de extracción en general. Puedes añadir enlaces a un recurso, como archivos, utilizando el @ signo seguido del nombre del archivo.

    nota

    El esquema no se aplicará hasta que se apruebe y fusione la solicitud de extracción. Para obtener más información, consulte Revisión de una solicitud de extracción y Fusión de una solicitud de extracción.

  6. En la columna Estado, selecciona Solicitud de extracción pendiente para la fila PDK: Plano de infraestructura y, a continuación, selecciona el enlace de la solicitud de extracción abierta.

  7. Selecciona Fusionar, elige tu estrategia de fusión preferida y, a continuación, selecciona Fusionar para incorporar los cambios del esquema aplicado.

    Una vez que se fusiona la solicitud de cambios, se genera una nueva packages/infra carpeta dentro de tu proyecto monorepo, que contiene la infraestructura que implementará tu proyecto en la nube. AWS

  8. En el panel de navegación, selecciona Planos para confirmar que el estado de la PDKinfraestructura es actualizado.

A continuación, añadirá el DevOps plano PDK- para implementar la aplicación.

Paso 5: Configura un DevOps flujo de trabajo para implementar tu proyecto

El PDK DevOps plano genera los DevOps flujos de trabajo necesarios para crear e implementar el proyecto mediante la AWS cuenta y el rol especificados en la configuración.

Para añadir el plano PDK - DevOps

  1. En el panel de navegación de su proyecto monorepo, elija Blueprints y, a continuación, elija Agregar blueprint.

  2. Selecciona el DevOps plano PDK- y, a continuación, selecciona Siguiente.

  3. En Configurar el esquema, configure los parámetros del esquema:

    • Elija Bootstrap CDK en el entorno actual.

    • En el campo de entrada de texto del nombre de la pila, introduzca el nombre de la CloudFormation pila que desea implementar. Debe coincidir con el nombre de la pila configurado en Paso 4: Genere la infraestructura para implementar la aplicación en la nube AWS el PDK plano de infraestructura.

    • Selecciona el menú desplegable de conexión de AWS cuentas y, a continuación, elige la AWS cuenta que quieres usar para los recursos. Para obtener más información, consulte Añadir un elemento Cuenta de AWS a un espacio.

    • Elige el rol que deseas usar para implementar tu aplicación en el menú desplegable y, a continuación, elige el IAM rol que deseas usar para implementar la aplicación de tu proyecto.

      nota

      Al crear un IAM rol, restrinja el rol SourceArn al actual que ProjectID se encuentra en la configuración del proyecto. Para obtener más información, consulte Comprensión de la función CodeCatalystWorkflowDevelopmentRole-spaceNamede servicio.

    • Selecciona el menú desplegable Región y, a continuación, elige la región en la que deseas implementar tu proyecto monorepo. La implementación solo funciona en las regiones donde existen los servicios necesarios. AWS Para obtener más información, consulte AWSServicios por región.

  4. En la pestaña Cambios de código, revise los cambios propuestos. La diferencia que se muestra en una solicitud de extracción muestra los cambios en tu proyecto en el momento en que se creó la solicitud de extracción.

  5. Cuando estés satisfecho con los cambios propuestos que se realizarán cuando se aplique el blueprint, selecciona Añadir blueprint.

    Una vez creada una solicitud de incorporación de cambios, puedes añadir comentarios. Los comentarios se pueden añadir a la solicitud de extracción o a líneas individuales de los archivos, así como a la solicitud de extracción en general. Puedes añadir enlaces a un recurso, como archivos, utilizando el @ signo seguido del nombre del archivo.

    nota

    El esquema no se aplicará hasta que se apruebe y fusione la solicitud de extracción. Para obtener más información, consulte Revisión de una solicitud de extracción y Fusión de una solicitud de extracción.

  6. En la columna Estado, selecciona Solicitud de extracción pendiente para la fila PDK: Plano de infraestructura y, a continuación, selecciona el enlace de la solicitud de extracción abierta.

  7. Selecciona Fusionar, elige tu estrategia de fusión preferida y, a continuación, selecciona Fusionar para incorporar los cambios del esquema aplicado.

    Una vez que se fusione la solicitud de extracción, se generará una nueva .codecatalyst/workflows carpeta dentro de tu proyecto de monorepo.

  8. En el panel de navegación, selecciona Blueprints para confirmar que el estado de PDK- se DevOps muestra actualizado.

nota

El PDK DevOps plano y todos los cambios posteriores en los PDK planos serán significativamente más lentos a partir de este momento, ya que se generan archivos de bloqueo entre bastidores para garantizar que las compilaciones e implementaciones se puedan repetir en el futuro. Generará archivos de bloqueo para todos los paquetes en cualquiera de los idiomas compatibles.

Paso 6: Confirma el flujo de trabajo de publicación y consulta tu sitio web

Una vez que hayas completado los pasos anteriores, puedes confirmar el flujo de trabajo de publicación para asegurarte de que el proyecto se está creando.

Para confirmar el flujo de trabajo de publicación y ver tu sitio web

  1. En el panel de navegación de tu proyecto de monorepo, selecciona CI/CD y, a continuación, selecciona Flujos de trabajo.

  2. Para el flujo de trabajo de lanzamiento, selecciona la última ejecución del flujo de trabajo para ver los detalles. Para obtener más información, consulte Ver el estado y los detalles de una sola ejecución.

  3. Una vez que la ejecución del flujo de trabajo se haya completado correctamente, elija la última acción del flujo de trabajo (por ejemplo, Deploy-B eta-ap-souteast -2) y, a continuación, elija Variables.

    PDKflujo de trabajo de planos.
  4. Para ver el sitio web implementado, copie y pegue el enlace que se encuentra en la tabla de variables (por ejemplo, MyPDKApiwebsiteDistributionDomainNombre XXXXX) en una nueva ventana del navegador.

    Tabla de variables de una acción de flujo de trabajo.

    Necesitas una cuenta de Amazon Cognito para iniciar sesión en tu sitio web. De forma predeterminada, el grupo de usuarios no está configurado para permitir el registro automático.

    1. Navegue hasta la consola de AWSCognito.

    2. En la tabla Grupos de usuarios, elija el nombre del grupo de usuarios que coincida con el grupo de usuarios creado por el DevOps esquema PDK-, que se encuentra en la tabla de variables (por ejemplo, más abajo calculatebetaUserIdentityinfracalculatebetaUserIdentityIdentityPoolIdXXXXX. Para obtener más información, consulte Introducción a los grupos de usuarios.

      Grupo de usuarios creado por PDK- DevOps blueprint.
    3. Seleccione la opción Crear un usuario.

    4. Configure los parámetros de información del usuario:

      • En Mensaje de invitación, selecciona Enviar una invitación por correo electrónico.

      • En el campo de entrada de texto Nombre de usuario, introduce un nombre de usuario.

      • En el campo de entrada de texto Dirección de correo electrónico, introduzca un nombre de usuario.

      • En Contraseña temporal, selecciona Generar una contraseña.

    5. Seleccione la opción Crear un usuario.

    6. Navegue hasta la cuenta de correo electrónico que ingresó para los parámetros de información del usuario y abra un correo electrónico con una contraseña temporal. Tome nota de la contraseña.

    7. Vuelva al sitio web desplegado, introduzca el nombre de usuario que creó y la contraseña temporal que recibió y, a continuación, seleccione Iniciar sesión.

  5. (Opcional) Una vez que la ejecución del flujo de trabajo se haya completado correctamente, también podrá ver el diagrama generado. Seleccione la pestaña Artefactos CodeCatalyst, elija Descargar para la fila del diagrama y, a continuación, abra los archivos descargados.

    Pestaña de artefactos para el flujo de trabajo.
    Diagrama generado por PDK planos.

Colabora e itera en el proyecto PDK

Una vez configurado el proyecto, puedes realizar cambios en el código fuente. También puedes invitar a otros miembros del espacio a trabajar en el proyecto. PDKLos blueprints le permiten crear su aplicación de forma iterativa, añadiendo únicamente lo que necesite, cuando lo necesite, a la vez que conserva el control total de la configuración de cada plano.

Paso 1: Invita a los miembros a tu proyecto

Puedes usar la consola para invitar a usuarios a tu proyecto. Puedes invitar a miembros de tu espacio o añadir nombres ajenos a tu espacio.

Para invitar a usuarios a tu proyecto, debes iniciar sesión con el rol de administrador del proyecto o administrador del espacio.

No es necesario que invite a un usuario con el rol de administrador del espacio a su proyecto, ya que este ya tiene acceso implícito a todos los proyectos del espacio.

Al invitar a un usuario a su proyecto (sin asignar la función de administrador del espacio), el usuario aparecerá en la tabla de miembros del proyecto, en los proyectos, y en la tabla de miembros del proyecto, en los espacios.

Para invitar a un miembro a tu proyecto desde la pestaña de configuración del proyecto
  1. Vaya a su proyecto.

    sugerencia

    Puedes elegir qué proyecto quieres ver en la barra de navegación superior.

  2. En el panel de navegación, selecciona Configuración del proyecto.

  3. Seleccione la pestaña Miembros.

  4. En Miembros del proyecto, elija Invitar a un nuevo miembro.

  5. Escribe la dirección de correo electrónico del nuevo miembro, elige el rol de este miembro y, a continuación, selecciona Invitar. Para obtener más información acerca de los roles de , consulte Concesión de acceso con roles de usuario.

Para invitar a un miembro a tu proyecto desde la página de resumen del proyecto
  1. Vaya a su proyecto.

    sugerencia

    Puedes elegir qué proyecto quieres ver en la barra de navegación superior.

  2. Pulse el botón Members +.

  3. Escriba la dirección de correo electrónico del nuevo miembro, elija el rol de este miembro y, a continuación, elija Invitar. Para obtener más información acerca de los roles de , consulte Concesión de acceso con roles de usuario.

Paso 2: Crea incidencias para colaborar y realizar un seguimiento del trabajo

CodeCatalyst te ayuda a realizar un seguimiento de las funciones, las tareas, los errores y cualquier otro trabajo relacionado con tu proyecto que presente problemas. Puedes crear problemas para hacer un seguimiento del trabajo y las ideas necesarias. De forma predeterminada, cuando creas una incidencia, se añade a tu cartera de trabajo pendiente. Puedes mover las cuestiones a un tablero donde puedes hacer un seguimiento del trabajo en curso. También puedes asignar una incidencia a un miembro específico del proyecto. En este paso, crea una incidencia para realizar cambios en tu PDK proyecto.

Para crear una incidencia

  1. Abre la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Navegue hasta el proyecto de monorepo en el que desee crear una edición.

  3. En la página de inicio del proyecto, selecciona Crear edición. Como alternativa, en el panel de navegación, selecciona Problemas.

  4. Selecciona Crear problema.

    nota

    También puedes añadir las incidencias en línea cuando utilices una vista de cuadrícula.

  5. Introduce un título para el número.

  6. (Opcional) Introduce una descripción. Para este problema, introduzca la siguiente descripción:a change in the src/mysfit_data.json file.. Puede usar Markdown para agregar formato.

  7. (Opcional) Elige un estado, una prioridad o una estimación para el problema.

  8. (Opcional) Agregue una etiqueta existente o cree una nueva y agréguela seleccionando + Agregar etiqueta.

    1. Para añadir una etiqueta existente, selecciónela de la lista. Puede introducir un término de búsqueda en el campo para buscar en el proyecto todas las etiquetas que contengan ese término.

    2. Para crear una etiqueta nueva y añadirla, introduce el nombre de la etiqueta que deseas crear en el campo de búsqueda y pulsa enter.

  9. (Opcional) Agregue un cesionario seleccionando + Agregar un cesionario. Puedes añadirte rápidamente como cesionario seleccionando + Añadirme.

    sugerencia

    Puedes asignar un problema a Amazon Q para que Amazon Q intente resolverlo. Para obtener más información, consulte Tutorial: Uso de funciones de IA CodeCatalyst generativa para acelerar el trabajo de desarrollo.

    Esta funcionalidad requiere que las funciones de IA generativa estén habilitadas para el espacio. Para obtener más información, consulte Administrar las funciones de IA generativa.

  10. (Opcional) Añada un campo personalizado existente o cree uno nuevo. Los problemas pueden tener varios campos personalizados.

    1. Para añadir un campo personalizado existente, elija el campo personalizado de la lista. Puede introducir un término de búsqueda en el campo para buscar en todos los campos personalizados que contengan ese término en el proyecto.

    2. Para crear un campo personalizado nuevo y añadirlo, introduzca el nombre del campo personalizado que desee crear en el campo de búsqueda y pulse Entrar. A continuación, elija el tipo de campo personalizado que desee crear y establezca un valor.

  11. Selecciona Crear incidencia. Aparece una notificación en la esquina inferior derecha: si el problema se creó correctamente, aparecerá un mensaje de confirmación que indica que el problema se creó correctamente. Si el problema no se ha creado correctamente, aparece un mensaje de error con el motivo del error. A continuación, puede seleccionar Reintentar para editar y volver a intentar crear el problema, o bien seleccionar Descartar para descartar el problema. Ambas opciones descartarán la notificación.

    nota

    No puedes vincular una solicitud de cambios a una publicación al crearla. Sin embargo, puedes editarla después de crearla para añadir enlaces a las solicitudes de cambios.

Para obtener más información, consulte Realice un seguimiento y organice el trabajo con problemas en CodeCatalyst.

Paso 3: Visualiza tu repositorio de código fuente

Puedes ver los repositorios de origen asociados a un proyecto en Amazon CodeCatalyst. En el caso de los repositorios de origen CodeCatalyst, la página de información general de un repositorio proporciona un resumen rápido de la información y la actividad de ese repositorio, que incluye:

  • La descripción del repositorio, si existe

  • El número de sucursales del repositorio

  • El número de solicitudes de cambios abiertas para el repositorio

  • El número de flujos de trabajo relacionados con el repositorio

  • Los archivos y carpetas de la rama predeterminada o de la rama que elija

  • El título, el autor y la fecha de la última confirmación en la rama mostrada

  • El contenido del README archivo.md renderizado en Markdown, si se incluye algún README archivo.md

Esta página también proporciona enlaces a las confirmaciones, ramificaciones y solicitudes de extracción del repositorio, así como una forma rápida de abrir, ver y editar archivos individuales.

nota

No puedes ver esta información sobre los repositorios enlazados en la CodeCatalyst consola. Para ver información sobre los repositorios enlazados, selecciona el enlace de la lista de repositorios para abrir ese repositorio en el servicio que lo aloja.

Para navegar a los repositorios de origen de un proyecto
  1. Navegue hasta su proyecto y realice una de las siguientes acciones:

    • En la página de resumen de su proyecto, elija el repositorio que desee de la lista y, a continuación, elija Ver repositorio.

    • En el panel de navegación, elija Código y, a continuación, elija Repositorios de origen. En Repositorios de origen, elige el nombre del repositorio de la lista. Puede filtrar la lista de repositorios escribiendo parte del nombre del repositorio en la barra de filtros.

  2. En la página de inicio del repositorio, consulta el contenido del repositorio y la información sobre los recursos asociados, como el número de solicitudes de incorporación de datos y los flujos de trabajo. De forma predeterminada, se muestra el contenido de la rama predeterminada. Puede cambiar la vista seleccionando una rama diferente de la lista desplegable.

sugerencia

También puedes navegar rápidamente a los repositorios de tu proyecto seleccionando Ver el código del proyecto en la página de resumen del proyecto.

Paso 4: Crea un entorno de desarrollo y realiza cambios en el código

En este paso, crea un entorno de desarrollo y realiza cambios en el código que luego se fusionan en la rama principal. Si bien este tutorial te guía por un AWS PDK proyecto sencillo, también puedes seguir un ejemplo más complejo que se proporciona en el AWSPDK GitHub repositorio.

Para crear un entorno de desarrollo con una nueva rama

  1. En el panel de navegación de tu proyecto monorepo, realiza una de las siguientes acciones:

    • Elija Descripción general y, a continuación, vaya a la sección Mis entornos de desarrollo.

    • Selecciona Código y, a continuación, selecciona Entornos de desarrollo.

    • Elija Código, repositorios de código fuente y, a continuación, elija el repositorio monorepo para el que desee crear un entorno de desarrollo.

  2. Elige uno compatible en el IDE menú desplegable. Para obtener más información, consulte Entornos de desarrollo integrados compatibles para entornos de desarrollo.

  3. Seleccione Clonar un repositorio.

  4. Elija el repositorio que desea clonar, elija Trabajar en una nueva ramificación, introduzca el nombre de la ramificación en el campo Nombre de ramificación, y elija una ramificación a partir de la cual crear la ramificación nueva en el menú desplegable Crear ramificación desde.

    nota

    Si creas un entorno de desarrollo desde la página de repositorios de código fuente o desde un repositorio de código fuente específico, no necesitas elegir un repositorio. El entorno de desarrollo se creará a partir del repositorio de origen que hayas elegido en la página de repositorios de origen.

  5. (Opcional) En Alias: opcional, introduce un alias para el entorno de desarrollo.

  6. (Opcional) Pulse el botón de edición de la configuración del entorno de desarrollo para editar la configuración de procesamiento, almacenamiento o tiempo de espera del entorno de desarrollo.

  7. (Opcional) En Amazon Virtual Private Cloud (AmazonVPC): opcional, selecciona una VPC conexión que quieras asociar a tu entorno de desarrollo en el menú desplegable.

    Si tu espacio VPC está configurado de forma predeterminada, tus entornos de desarrollo se ejecutarán conectados a élVPC. Puedes anular esto asociando una conexión diferenteVPC. Además, ten en cuenta que los entornos VPC de desarrollo conectados no son compatibles con Toolkit. AWS

    nota

    Al crear un entorno de desarrollo con una VPC conexión, se crea una nueva interfaz de red dentro del. VPC CodeCatalyst interactúa con esta interfaz mediante el VPC rol asociado. Además, asegúrese de que su IPv4 CIDR bloque no esté configurado para el rango de direcciones 172.16.0.0/12 IP.

  8. Seleccione Crear. Mientras se crea el entorno de desarrollo, la columna de estado del entorno de desarrollo mostrará Iniciando y la columna de estado mostrará Ejecutando una vez se haya creado el entorno de desarrollo.

Una vez que tu entorno de desarrollo esté en funcionamiento, puedes trabajar con la aplicación de muestra que has generado realizando cambios en el código CodeCatalyst mediante solicitudes de extracción que se crean e implementan automáticamente en los recursos de la AWS cuenta conectada cuando se fusiona la solicitud de extracción. El monorepo vende un archivo de desarrollo para que todas las dependencias globales y los tiempos de ejecución necesarios estén presentes automáticamente.

Para cambiar el código de tu proyecto

  1. En una terminal funcional de tu entorno de desarrollo, navega hasta tu proyecto monorepo y, a continuación, instala las dependencias del proyecto ejecutando el siguiente comando:

    npx projen install
  2. Navegue hasta elpackages/apis/mypdkapi/model/src/main/smithy/operations/say-hello.smithy, que define un ejemplo de operación. API En este tutorial, crearás una Calculate operación sencilla que suma dos números. Realice un cambio en el código para definir esta operación, incluidas sus entradas y salidas.

    Ejemplo:

    $version: "2" namespace com.aws @http(method: "POST", uri: "/calculate") @handler(language: "typescript") operation Calculate { input := { @required numberA: Integer @required numberB: Integer } output := { @required result: Integer } }

    El @handler rasgo indica a Type Safe API que implementará esta operación como un controlador AWS Lambda escrito en él. TypeScript Type Safe API generará un código auxiliar para esta operación para que lo implementes. TypeScript Se añade esta @required característica, lo que significa que la API puerta de enlace que se despliegue la aplicará en tiempo de ejecución. Para obtener más información, consulte la documentación de Smithy.

  3. Cambie el nombre del /say-hello.smithy archivo por uno que se ajuste a los cambios de código (por ejemplo,). calculate.smithy

  4. Navegue hasta el packages/apis/mypdkapi/model/src/main/smithy/main.smithy código y realice un cambio en el mismo para conectar la operación. Puede mostrar la Calculate operación definida en el /calculate.smithy listándola en el operations campo de este archivo.

    Ejemplo:

    $version: "2" namespace com.aws use aws.protocols#restJson1 /// A sample smithy api @restJson1 service MyPDKApi { version: "1.0" operations: [Calculate] errors: [ BadRequestError NotAuthorizedError InternalFailureError ] }
  5. Cree los cambios ejecutando el siguiente comando:

    npx projen build
    nota

    Si lo desea, puede pasar una --parallel X bandera, que distribuirá la compilación entre los X núcleos.

    Como se agregó la @handler característica, se generan los siguientes archivos una vez completada la compilación:

    • /packages/apis/mypdkapi/handlers/typescript/src/calculate.ts

    • /packages/apis/mypdkapi/handlers/typescript/test/calculate.test.ts

  6. Navega hasta packages/apis/mypdkapi/handlers/typescript/src/calculate.ts el código y realiza los cambios en él. Este archivo es el controlador del servidor que se invoca para. API

    import { calculateHandler, CalculateChainedHandlerFunction, INTERCEPTORS, Response, LoggingInterceptor, } from 'mypdkapi-typescript-runtime'; /** * Type-safe handler for the Calculate operation */ export const calculate: CalculateChainedHandlerFunction = async (request) => { LoggingInterceptor.getLogger(request).info('Start Calculate Operation'); const { input } = request; return Response.success({ result: input.body.numberA + input.body.numberB, }); }; /** * Entry point for the AWS Lambda handler for the Calculate operation. * The calculateHandler method wraps the type-safe handler and manages marshalling inputs and outputs */ export const handler = calculateHandler(...INTERCEPTORS, calculate);
  7. Navegue hasta el /packages/apis/mypdkapi/handlers/typescript/test/calculate.test.ts archivo y realice cambios en el código para actualizar las pruebas unitarias.

    Ejemplo:

    import { CalculateChainedRequestInput, CalculateResponseContent, } from 'mypdkapi-typescript-runtime'; import { calculate, } from '../src/calculate'; // Common request arguments const requestArguments = { chain: undefined as never, event: {} as any, context: {} as any, interceptorContext: { logger: { info: jest.fn(), }, }, } satisfies Omit<CalculateChainedRequestInput, 'input'>; describe('Calculate', () => { it('should return correct sum', async () => { const response = await calculate({ ...requestArguments, input: { requestParameters: {}, body: { numberA: 1, numberB: 2 } }, }); expect(response.statusCode).toBe(200); expect((response.body as CalculateResponseContent).result).toEqual(3); }); });
  8. Navegue hasta el /packages/infra/main/src/constructs/apis/mypdkapi.ts archivo y realice cambios en el código para añadir una integración para la Calculate operación en su CDK infraestructura. La API construcción tiene una propiedad de integraciones, en la que puede transferir la implementación que agregó anteriormente. Como está utilizando la @handler característica en su modelo de Smithy para la Calculate operación, puede usar la CalculateFunction CDK construcción generada, que está preconfigurada, para apuntar a la implementación de su controlador.

    Ejemplo:

    import { UserIdentity } from "@aws/pdk/identity"; import { Authorizers, Integrations } from "@aws/pdk/type-safe-api"; import { Stack } from "aws-cdk-lib"; import { Cors } from "aws-cdk-lib/aws-apigateway"; import { AccountPrincipal, AnyPrincipal, Effect, PolicyDocument, PolicyStatement, } from "aws-cdk-lib/aws-iam"; import { Construct } from "constructs"; import { Api, CalculateFunction } from "calculateapi-typescript-infra"; /** * Api construct props. */ export interface CalculateApiProps { /** * Instance of the UserIdentity. */ readonly userIdentity: UserIdentity; } /** * Infrastructure construct to deploy a Type Safe API. */ export class CalculateApi extends Construct { /** * API instance */ public readonly api: Api; constructor(scope: Construct, id: string, props?: CalculateApiProps) { super(scope, id); this.api = new Api(this, id, { defaultAuthorizer: Authorizers.iam(), corsOptions: { allowOrigins: Cors.ALL_ORIGINS, allowMethods: Cors.ALL_METHODS, }, integrations: { calculate: { integration: Integrations.lambda(new CalculateFunction(this, "CalculateFunction")) } }, policy: new PolicyDocument({ statements: [ // Here we grant any AWS credentials from the account that the prototype is deployed in to call the api. // Machine to machine fine-grained access can be defined here using more specific principals (eg roles or // users) and resources (ie which api paths may be invoked by which principal) if required. // If doing so, the cognito identity pool authenticated role must still be granted access for cognito users to // still be granted access to the API. new PolicyStatement({ effect: Effect.ALLOW, principals: [new AccountPrincipal(Stack.of(this).account)], actions: ["execute-api:Invoke"], resources: ["execute-api:/*"], }), // Open up OPTIONS to allow browsers to make unauthenticated preflight requests new PolicyStatement({ effect: Effect.ALLOW, principals: [new AnyPrincipal()], actions: ["execute-api:Invoke"], resources: ["execute-api:/*/OPTIONS/*"], }), ], }), }); // Grant authenticated users access to invoke the api props?.userIdentity.identityPool.authenticatedRole.addToPrincipalPolicy( new PolicyStatement({ effect: Effect.ALLOW, actions: ["execute-api:Invoke"], resources: [this.api.api.arnForExecuteApi("*", "/*", "*")], }), ); } }
  9. Cree los cambios ejecutando el siguiente comando:

    npx projen build

Una vez que el proyecto haya terminado de crearse, podrá ver el diagrama generado actualizado, que se encuentra en el/packages/infra/main/cdk.out/cdkgraph/diagram.png. El diagrama muestra cómo se agrega la función y cómo se conecta a la función API creada. A medida que se modifica el CDK código, este diagrama también se actualiza.

Ahora puedes implementar tus cambios insertándolos y fusionándolos en la rama principal de tu repositorio.

Paso 5: Inserta y fusiona los cambios de código

Confirma e inserta los cambios en el código, que luego podrás fusionarlos en la rama principal de tu repositorio de código fuente.

Para insertar los cambios en tu rama de funciones

  • Ejecuta los siguientes comandos para confirmar e insertar los cambios en tu rama de funciones:

    git add .
    git commit -m "my commit message"
    git push

Al presionar los cambios, se activa un nuevo flujo de trabajo para tu rama de funciones, que puedes ver en la CodeCatalyst consola. A continuación, puedes crear una solicitud de cambios para combinar los cambios con la rama principal de tu repositorio de origen. Al fusionar la rama de funciones con la rama principal, se activa el flujo de trabajo de publicación. También puedes vincular la solicitud de cambios a tu edición.

Para crear una solicitud de cambios y vincularla a tu publicación

  1. En tu proyecto de monorepo, realiza una de las siguientes acciones:

    • En el panel de navegación, selecciona Código, selecciona Solicitudes de extracción y, a continuación, selecciona Crear solicitud de extracción.

    • En la página de inicio del repositorio, selecciona Más y, a continuación, selecciona Crear solicitud de extracción.

    • En la página del proyecto, selecciona Crear solicitud de extracción.

  2. En el repositorio de fuentes, asegúrate de que el repositorio de fuentes especificado es el que contiene el código confirmado. Esta opción solo aparece si no creaste la solicitud de extracción desde la página principal del repositorio.

  3. En la rama de destino, elige la rama principal en la que deseas combinar el código después de revisarlo.

  4. En la rama Fuente, elige la rama de funciones que contiene el código confirmado.

  5. En el título de la solicitud de extracción, introduce un título que ayude a otros usuarios a entender qué es lo que hay que revisar y por qué.

  6. (Opcional) En la descripción de la solicitud de retirada, proporciona información como un enlace a los problemas o una descripción de tus cambios.

    sugerencia

    Puedes elegir Escribir una descripción para que yo genere CodeCatalyst automáticamente una descripción de los cambios incluidos en la solicitud de cambios. Puedes realizar cambios en la descripción generada automáticamente después de añadirla a la solicitud de extracción.

    Esta funcionalidad requiere que las funciones de IA generativa estén habilitadas en el espacio. Para obtener más información, consulta Cómo gestionar las funciones de IA generativa en Amazon CodeCatalyst.

  7. En Problemas, selecciona Vincular problemas y, a continuación, elige el problema en Paso 2: Crea incidencias para colaborar y realizar un seguimiento del trabajo el que lo creaste. Para desvincular un problema, selecciona el icono de desvincular.

  8. (Opcional) En Revisores obligatorios, selecciona Agregar revisores obligatorios. Elija de la lista de miembros del proyecto para añadirlos. Los revisores necesarios deben aprobar los cambios antes de poder fusionar la solicitud de extracción en la sucursal de destino.

    nota

    No puedes añadir un revisor como revisor obligatorio y como revisor opcional. No puedes añadirte a ti mismo como revisor.

  9. (Opcional) En Revisores opcionales, selecciona Añadir revisores opcionales. Elija de la lista de miembros del proyecto para añadirlos. Los revisores opcionales no tienen que aprobar los cambios como requisito para poder fusionar la solicitud de extracción en la sucursal de destino.

  10. Los revisores o tú mismo deberán revisar y fusionar tu solicitud de incorporación a la sucursal principal. Para obtener más información, consulte Fusión de una solicitud de extracción.

    Cuando tus cambios se fusionan en la rama principal de tu repositorio de origen, se activa automáticamente un nuevo flujo de trabajo.

  11. Una vez finalizada la fusión, puedes mover la edición a Listo.

    1. En el panel de navegación, selecciona Problemas.

    2. Selecciona el problema creado enPaso 2: Crea incidencias para colaborar y realizar un seguimiento del trabajo, selecciona el menú desplegable Estado y, a continuación, selecciona Listo.

El flujo de trabajo de lanzamiento despliega la aplicación después de ejecutarla correctamente, para que puedas ver los cambios.

Para confirmar el flujo de trabajo de lanzamiento y ver tu sitio web

  1. En el panel de navegación de tu proyecto de monorepo, selecciona CI/CD y, a continuación, selecciona Flujos de trabajo.

  2. Para el flujo de trabajo de lanzamiento, selecciona la última ejecución del flujo de trabajo para ver los detalles. Para obtener más información, consulte Ver el estado y los detalles de una sola ejecución.

  3. Una vez que la ejecución del flujo de trabajo se haya completado correctamente, elija la última acción del flujo de trabajo (Deploy-B eta-ap-souteast -2) y, a continuación, elija Variables.

  4. Para ver el sitio web desplegado, copie y pegue el enlace del MyPDKApiwebsiteDistributionDomainAsigne un nombre a la XXXXX fila en una nueva ventana del navegador.

  5. Introduce el nombre de usuario y la contraseña que creaste yPaso 6: Confirma el flujo de trabajo de publicación y consulta tu sitio web, a continuación, selecciona Iniciar sesión.

  6. (Opcional) Pruebe los cambios en su aplicación.

    1. Selecciona el POSTmenú desplegable.

    2. Introduzca dos valores para numberA y ynumber B, a continuación, seleccione Ejecutar.

    3. Confirme los resultados en el cuerpo de la respuesta.

Con el tiempo, las versiones del PDK catálogo de los planos pueden cambiar. Puede cambiar los planos de su proyecto por las versiones del catálogo para mantenerse al día con los cambios más recientes. Puede ver los cambios en el código y los entornos afectados antes de cambiar las versiones del plan de su proyecto. Para obtener más información, consulte Cambiar las versiones de los blueprints en un proyecto.