

Amazon ya no CodeCatalyst está abierto a nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte [Cómo migrar desde CodeCatalyst](migration.md).

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: Creación de un proyecto con el esquema Aplicación web moderna de tres niveles
<a name="getting-started-template-project"></a>

Puede empezar a desarrollar software más rápidamente si crea proyectos con un esquema. Un proyecto creado con un esquema incluye los recursos que necesita, como un repositorio de código fuente para administrar el código y un flujo de trabajo para crear e implementar la aplicación. En este tutorial, te mostraremos cómo usar el modelo de **aplicación web moderna de tres niveles** para crear un proyecto en Amazon. CodeCatalyst El tutorial también incluye ver el ejemplo implementado, invitar a otros usuarios a trabajar en él y realizar cambios en el código mediante solicitudes de extracción que se crean e implementan automáticamente en los recursos de la red Cuenta de AWS cuando se fusiona la solicitud de extracción. Mientras CodeCatalyst crea su proyecto con informes, fuentes de actividades y otras herramientas, su plan crea AWS recursos en los recursos Cuenta de AWS asociados a su proyecto. Los archivos de esquemas le permiten compilar y probar una aplicación moderna de ejemplo e implementarla en infraestructuras en Nube de AWS.

La siguiente ilustración muestra cómo se CodeCatalyst utilizan las herramientas para crear un problema con el fin de realizar un seguimiento, fusionar y generar automáticamente el cambio y, a continuación, iniciar un flujo de trabajo en el CodeCatalyst proyecto que ejecute acciones para permitir AWS CDK y CloudFormation aprovisionar la infraestructura. 

Las acciones generan recursos en la función asociada Cuenta de AWS e implementan la aplicación en una AWS Lambda función sin servidor con un punto final de API Gateway. La AWS Cloud Development Kit (AWS CDK) acción convierte una o más AWS CDK pilas en CloudFormation plantillas y despliega las pilas en la suya. Cuenta de AWS Los recursos de sus paquetes incluyen CloudFront los recursos de Amazon para distribuir contenido web dinámico, una instancia de Amazon DynamoDB para los datos de su aplicación y las funciones y políticas que respaldan la aplicación implementada.

![\[Un cambio de código, desde la creación de un problema hasta el cambio en el repositorio de origen, que luego se crea e implementa automáticamente en los recursos de AWS\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/modern-app-overview.png)


Al crear un proyecto con el esquema **Aplicación web moderna de tres niveles**, el proyecto se crea con los siguientes recursos:

**En el CodeCatalyst proyecto**:
+ Un [repositorio de código fuente](source.md) con código de muestra y YAML de flujo de trabajo
+ Un [flujo de trabajo](workflow.md) que compila e implementa el código de muestra cada vez que hay un cambio en la ramificación predeterminada
+ Un panel de problemas y un registro de tareas pendientes que puede usar para planificar el trabajo y hacer un seguimiento de este
+ Un conjunto de informes de pruebas con informes automatizados incluidos en el código de muestra

**En el asociado Cuenta de AWS**:
+ Tres AWS CloudFormation pilas que crean los recursos necesarios para la aplicación.

Para obtener más información sobre los recursos que se crearán en este tutorial AWS y CodeCatalyst como parte de él, consulte[Referencia](#getting-started-template-project-reference).

**nota**  
Los recursos y los ejemplos incluidos en un proyecto dependen del esquema que seleccione. Amazon CodeCatalyst ofrece varios modelos de proyectos que definen los recursos relacionados con su lenguaje o marco definido. Para obtener más información sobre los esquemas, consulte [Creación de un proyecto integral con CodeCatalyst planosCreación de un proyecto integral con esquemas](project-blueprints.md).

**Topics**
+ [Requisitos previos](#getting-started-template-project-prerequisites)
+ [Paso 1: crear el proyecto Aplicación web moderna de tres niveles](#getting-started-template-project-proj-create)
+ [Paso 2: invitar a alguien al proyecto](#getting-started-template-project-ipa-user)
+ [Paso 3: crear problemas para colaborar y hacer un seguimiento del trabajo](#getting-started-template-project-issue)
+ [Paso 4: ver el repositorio de código fuente](#getting-started-template-project-source)
+ [Paso 5: crear un entorno de desarrollo con una ramificación de prueba y hacer un cambio rápido de código](#getting-started-template-project-create-devenvironment)
+ [Paso 6: ver el flujo de trabajo que compila la aplicación moderna](#getting-started-template-project-view-workflow)
+ [Paso 7: solicitar que otras personas revisen los cambios](#getting-started-template-project-pull-request)
+ [Paso 8: cerrar el problema](#getting-started-template-project-close-issue)
+ [Eliminar recursos](#getting-started-template-project-clean-up)
+ [Referencia](#getting-started-template-project-reference)

## Requisitos previos
<a name="getting-started-template-project-prerequisites"></a>

Para crear un proyecto de aplicación moderna en este tutorial, debe haber completado las tareas en [Configuración e inicio de sesión en CodeCatalystConfiguración e inicio de sesión en CodeCatalyst](setting-up-topnode.md) del siguiente modo:
+ Tenga un ID de AWS constructor para iniciar CodeCatalyst sesión.
+ Debe pertenecer a un espacio y tener asignado el rol de **administrador del espacio** o **usuario avanzado** en ese espacio. Para obtener más información, consulte [Creación de un espacio](spaces-create.md), [Concesión de permisos de espacio a los usuarios](spaces-members.md) y [Rol de administrador del espacio](ipa-role-types.md#ipa-role-space-admin).
+ Ten una Cuenta de AWS asociada a tu espacio y ten la función de IAM que creaste al registrarte. Por ejemplo, durante el registro, tiene la opción de elegir crear un rol de servicio con una política de roles denominada **CodeCatalystWorkflowDevelopmentRole-*spaceName***. El rol tendrá un nombre `CodeCatalystWorkflowDevelopmentRole-spaceName` con un identificador único adjunto. Para obtener más información sobre los roles y la política de roles, consulte [El funcionamiento del rol de servicio **CodeCatalystWorkflowDevelopmentRole-*spaceName***](ipa-iam-roles.md#ipa-iam-roles-service-role). Si desea saber cuáles son los pasos para crear el rol, consulte [Creación del rol **CodeCatalystWorkflowDevelopmentRole-*spaceName*** para su cuenta y su espacio](ipa-iam-roles.md#ipa-iam-roles-service-create).

## Paso 1: crear el proyecto Aplicación web moderna de tres niveles
<a name="getting-started-template-project-proj-create"></a>

Cuando lo haya creado, el proyecto será el lugar en el que desarrollará y probará el código, coordinará las tareas de desarrollo y consultará las métricas correspondientes. El proyecto también contiene las herramientas y los recursos de desarrollo.

En este tutorial, utilizará el esquema **Aplicación web moderna de tres niveles** para crear una aplicación interactiva. El flujo de trabajo que se crea y ejecuta automáticamente como parte del proyecto creará e implementará la aplicación. El flujo de trabajo solo se ejecuta correctamente después de configurar todos los roles y la información de la cuenta para el espacio. Cuando el flujo de trabajo se haya ejecutado correctamente, puede visitar la URL del punto de conexión para ver la aplicación.

**Creación de un proyecto con un esquema**

1. [Abre la CodeCatalyst consola en https://codecatalyst.aws/.](https://codecatalyst.aws/)

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

1. Elija **Crear proyecto**.

1. Seleccione **Empezar con un esquema**. 

1. En la barra de búsqueda, ingrese **modern**.

1. Seleccione el esquema **Aplicación web moderna de tres niveles** y elija **Siguiente**.

1. En **Asignar nombre al proyecto**, introduzca un nombre para el proyecto. Por ejemplo:

   **MyExampleProject**.
**nota**  
El nombre debe ser único dentro del espacio.

1. En **Cuenta**, selecciona Cuenta de AWS lo que añadiste al registrarte. El esquema instalará los recursos en esta cuenta.

1. En **Rol de implementación**, seleccione el rol que haya añadido durante el registro. En este ejemplo, elija `CodeCatalystWorkflowDevelopmentRole-spaceName`. 

   Si no hay ningún rol en la lista, añada uno. Para añadir un rol, selecciona **Añadir rol de IAM** y añade el rol al tuyo. Cuenta de AWS Para obtener más información, consulte [Permitir el acceso a AWS los recursos con conexión Cuentas de AWS](ipa-connect-account.md).

1. En **Plataforma de computación**, elija **Lambda**.

1. En **Opción de alojamiento frontend**, elija **Amplify Hosting**. Para obtener información al respecto AWS Amplify, consulte [¿Qué es el AWS Amplify alojamiento?](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html) en la *Guía AWS Amplify del usuario*.

1. En **Región de implementación**, introduzca el código de la Región de AWS donde desea que el esquema implemente la aplicación Mysfits y los recursos de soporte. Para obtener una lista de códigos de región, consulte [Puntos de conexión regionales](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) en la *Referencia general de AWS*.

1. En **Nombre de la aplicación**, deje el valor predeterminado de `mysfitsstring`.

1. (Opcional) En **Generar vista previa del proyecto**, seleccione **Ver código** para obtener una vista previa de los archivos del código fuente que el esquema instalará. Seleccione **Ver flujo de trabajo** para obtener una vista previa de los archivos CI/CD de definición del flujo de trabajo que se instalarán en el blueprint. La vista previa se actualiza de forma dinámica en función de sus selecciones.

1. Elija **Crear proyecto**. 

El flujo de trabajo del proyecto se iniciará en cuanto se cree el proyecto. Tardará un poco en terminar de compilar e implementar el código. Mientras tanto, puede invitar a otra persona al proyecto.

## Paso 2: invitar a alguien al proyecto
<a name="getting-started-template-project-ipa-user"></a>

Ahora que ya ha configurado el proyecto, invite a otras personas a que trabajen con usted.

**Invitación a una persona al proyecto**

1. Vaya al proyecto al que desee invitar a los usuarios.

1. En el panel de navegación, seleccione **Configuración del proyecto**.

1. En la pestaña **Miembros**, seleccione **Invitar**.

1. Escriba las direcciones de correo electrónico de las personas a las que desea invitar como usuarios del proyecto. Puede escribir varias direcciones de correo electrónico separadas por un espacio o una coma. También puede elegir entre los miembros del espacio que no sean miembros del proyecto. 

1. Elija el rol para el usuario.

   Cuando haya terminado de añadir usuarios, seleccione **Invitar**.

## Paso 3: crear problemas para colaborar y hacer un seguimiento del trabajo
<a name="getting-started-template-project-issue"></a>

CodeCatalyst te ayuda a realizar un seguimiento de las funciones, las tareas, los errores y cualquier otro aspecto relacionado con tu proyecto que presente problemas. Puede crear problemas para hacer un seguimiento de las ideas y el trabajo necesarios. De forma predeterminada, al crear un problema, este se añade al registro de tareas pendientes. Puede mover los problemas a un panel en el que podrá hacer un seguimiento del trabajo en curso. También puede asignar un problema a un miembro específico del proyecto.

**Creación de un problema para un proyecto**

1. En el panel de navegación, elija **Problemas**.

1. Seleccione **Crear el problema**. 

1. En **Título del problema**, introduzca un nombre para el problema. También tiene la opción de proporcionar una descripción del problema. En este ejemplo, use **make a change in the `src/mysfit_data.json` file.**

1. Elija la prioridad, la estimación, el estado y las etiquetas. En **Cesionario**, seleccione **\$1Añadirme** para asignarse el problema.

1. Seleccione **Crear el problema**. Ahora, el problema se puede ver en el panel. Elija la ficha para mover el problema a la columna **En curso**. 

Para obtener más información, consulte [Realice un seguimiento y organice el trabajo con problemas en CodeCatalystSeguimiento y organización de los trabajos con problemas](issues.md).

## Paso 4: ver el repositorio de código fuente
<a name="getting-started-template-project-source"></a>

El esquema instala un repositorio de código fuente que contiene archivos para definir y respaldar la aplicación o el servicio. A continuación, encontrará una lista con algunos directorios y archivos importantes en el repositorio de código fuente.
+ Directorio **.cloud9**: contiene archivos de soporte para el entorno de desarrollo AWS Cloud9 .
+ Directorio **.codecatalyst**: contiene el archivo de definición del flujo de trabajo en `YAML` para todos los flujos de trabajo incluidos en el esquema.
+ **Directorio.idea**: contiene archivos auxiliares para los entornos de JetBrains desarrollo.
+ Directorio **.vscode**: contiene archivos de soporte para el entorno de desarrollo de Visual Studio Code.
+ Directorio **cdkStacks**: contiene los archivos de AWS CDK pila que definen la infraestructura del. Nube de AWS
+ Directorio **src**: contiene el código fuente de la aplicación.
+ Directorio de **pruebas**: contiene archivos para las pruebas integrales y unitarias que se ejecutan como parte del CI/CD flujo de trabajo automatizado que se ejecuta al crear y probar la aplicación.
+ Directorio **web**: contiene el código fuente del frontend. También hay archivos de proyecto, como el archivo `package.json` que contiene metadatos importantes sobre el proyecto, la página `index.html` del sitio web, el archivo `.eslintrc.cjs` para el lint de código y el archivo `tsconfig.json` para especificar los archivos raíz y las opciones del compilador.
+ Archivo `Dockerfile`: describe el contenedor de la aplicación.
+ Archivo `README.md`: contiene la información de configuración para el proyecto.

**Navegación a los repositorios de código fuente de un proyecto**

1. Vaya al proyecto y lleve a cabo una de las siguientes acciones:
   + En la página de resumen del 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**, elija el nombre del repositorio en la lista. Puede filtrar la lista de repositorios escribiendo una parte del nombre en la barra de filtros.

1. En la página de inicio del repositorio, consulte el contenido del repositorio y la información sobre los recursos asociados, como el número de solicitudes de extracción y los flujos de trabajo. De forma predeterminada, se muestra el contenido de la ramificación predeterminada. Para cambiar la vista, seleccione otra ramificación en la lista desplegable.

## Paso 5: crear un entorno de desarrollo con una ramificación de prueba y hacer un cambio rápido de código
<a name="getting-started-template-project-create-devenvironment"></a>

En el repositorio de código fuente, puede trabajar en el código rápidamente creando un entorno de desarrollo. En este tutorial, se da por sentado que hará lo siguiente:
+ Cree un entorno AWS Cloud9 de desarrollo.
+ Elegir la opción de trabajar en una nueva ramificación de la ramificación **principal** al crear el entorno de desarrollo.
+ Usar el nombre `test` de esta nueva ramificación.

En un paso posterior, utilizará el entorno de desarrollo para hacer un cambio de código y crear una solicitud de extracción.

**Creación de un entorno de desarrollo con una nueva ramificación**

1. Abra la CodeCatalyst consola en [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Vaya al proyecto donde quiera crear un entorno de desarrollo.

1. Seleccione el nombre del repositorio de la lista de repositorios de código fuente para el proyecto. Si lo prefiere, en el panel de navegación, seleccione **Código** y **Repositorios de origen** y elija el repositorio para el que quiera crear un entorno de desarrollo.

1. En la página de inicio del repositorio, seleccione **Crear entorno de desarrollo**.

1. Seleccione un IDE compatible en el menú desplegable. Para obtener más información, consulte [Entornos de desarrollo integrados compatibles](devenvironment-create.md#devenvironment-supported-ide).

1. 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**.

1. Si lo desea, añada un alias para el entorno de desarrollo.

1. Si lo desea, elija el botón de editar **Configuración del entorno de desarrollo** para editar la configuración informática, de almacenamiento o el tiempo de espera del entorno de desarrollo.

1. 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. Se abrirá una nueva pestaña con su entorno de desarrollo en el IDE que elija. Puede editar el código y confirmar y enviar los cambios.

En esta sección, trabajarás con la aplicación de muestra que has generado CodeCatalyst realizando cambios en el código con solicitudes de extracción que se crean e implementan automáticamente en los recursos de la red Cuenta de AWS cuando se fusiona la solicitud de extracción. 

**Cambios en el archivo `src/mysfit_data.json`**

1. Vaya al entorno de desarrollo de su proyecto. En AWS Cloud9, expande el menú de navegación lateral para buscar los archivos. Expanda `mysfits` y `src` y abra `src/mysfit_data.json`.

1. En el archivo, cambie el valor del campo `"Age":` de 6 a 12. La línea debería tener el siguiente aspecto: 

   ```
       {
           "Age": 12,
           "Description": "Twilight's personality sparkles like the night sky and is looking for a forever home with a Greek hero or God. While on the smaller side at 14 hands, he is quite adept at accepting riders and can fly to 15,000 feet. Twilight needs a large area to run around in and will need to be registered with the FAA if you plan to fly him above 500 feet. His favorite activities include playing with chimeras, going on epic adventures into battle, and playing with a large inflatable ball around the paddock. If you bring him home, he'll quickly become your favorite little Pegasus.",
           "GoodEvil": "Good",
           "LawChaos": "Lawful",
           "Name": "Twilight Glitter",
           "ProfileImageUri": "https://www.mythicalmysfits.com/images/pegasus_hover.png",
           "Species": "Pegasus",
           "ThumbImageUri": "https://www.mythicalmysfits.com/images/pegasus_thumb.png"
       },
   ```

1. Guarde el archivo.

1. Cambie al repositorio de mysfits con el comando **cd /projects/mysfits**.

1. Añada, confirme y envíe los cambios mediante los comandos **git add**, **git commit** y **git push**.

   ```
   git add .
   git commit -m "make an example change"
   git push
   ```

## Paso 6: ver el flujo de trabajo que compila la aplicación moderna
<a name="getting-started-template-project-view-workflow"></a>

Después de crear el proyecto de aplicación moderna, CodeCatalyst genera varios recursos en su nombre, incluido un flujo de trabajo. Un *flujo de trabajo* es un procedimiento automatizado definido en un archivo .yaml que describe cómo compilar, probar e implementar el código.

En este tutorial, CodeCatalyst creó un flujo de trabajo y lo inició automáticamente al crear su proyecto. (en función de cuándo creó el proyecto, es posible que el flujo de trabajo siga ejecutándose). Utilice los siguientes procedimientos para comprobar el progreso del flujo de trabajo, revisar los registros generados y los informes de pruebas y, por último, navegar hasta la URL de la aplicación implementada.

**Comprobación del progreso del flujo de trabajo**

1. **En la CodeCatalyst consola, en el panel de navegación, elija **CI/CD** y, a continuación, elija Flujos de trabajo.**

   Aparecerá una lista de flujos de trabajo. Estos son los flujos de trabajo que el CodeCatalyst blueprint generó e inició al crear el proyecto.

1. Observe la lista de flujos de trabajo; debería ver cuatro:
   + Los dos flujos de trabajo de la parte superior corresponden a la ramificación `test` que ha creado en [Paso 5: crear un entorno de desarrollo con una ramificación de prueba y hacer un cambio rápido de código](#getting-started-template-project-create-devenvironment). Estos flujos de trabajo son clones de los flujos de trabajo de la ramificación `main`. No **ApplicationDeploymentPipeline**está activo porque está configurado para usarse con la `main` rama. El **OnPullRequest**flujo de trabajo no se ejecutó porque no se realizó ninguna solicitud de extracción.
   + Los dos flujos de trabajo de la parte inferior corresponden a la ramificación `main` que se creó al ejecutar el esquema. El **ApplicationDeploymentPipeline**flujo de trabajo está activo y tiene una ejecución en curso (o finalizada).
**nota**  
Si se produce un **DeployBackend**error o se produce **un error** en la **ApplicationDeploymentPipeline**ejecución, es posible que se deba a que anteriormente ejecutó la aplicación web moderna de tres niveles y dejó recursos antiguos que entraban en conflicto con el esquema actual. @cdk\$1bootstrap Deberá primero eliminar estos recursos antiguos y, luego, ejecutar de nuevo el flujo de trabajo. Para obtener más información, consulte [Eliminar recursos](#getting-started-template-project-clean-up).

1. Elija el **ApplicationDeploymentPipeline**flujo de trabajo asociado a la `main` rama, en la parte inferior. Este flujo de trabajo se ejecutó con el código fuente de la ramificación `main`.

   Aparecerá un diagrama de flujo de trabajo. El diagrama muestra varios bloques, y cada uno de ellos representa una tarea o una *acción*. La mayoría de las acciones se organizan verticalmente; es decir, las acciones de la parte superior se ejecutan antes que las de la parte inferior. Las acciones mostradas una al lado de la otra se ejecutan en paralelo. Todas las acciones agrupadas deben ejecutarse correctamente antes de que pueda iniciarse la acción que se encuentra debajo de ellas.

   A continuación, puede ver una descripción de los bloques principales.
   + **WorkflowSource**— Este bloque representa tu repositorio de origen. Muestra, entre otra información, el nombre del repositorio de origen (**mysfits**) y la confirmación que inició automáticamente la ejecución del flujo de trabajo. CodeCatalyst generaste esta confirmación cuando creaste tu proyecto.
   + **Build**: este bloque representa un grupo de dos acciones; ambas deben completarse correctamente para que comience la siguiente.
   + **DeployBackend**— Este bloque representa una acción que despliega los componentes de backend de la aplicación en la AWS nube.
   + **Tests**: este bloque representa un grupo de dos acciones de prueba; ambas deben completarse correctamente para que comience la siguiente.
   + **DeployFrontend**— Este bloque representa una acción que despliega los componentes frontend de la aplicación en la nube. AWS 

1. Seleccione la pestaña **Definición** (cerca de la parte superior). El [archivo de definición del flujo de trabajo](workflow-reference.md) aparece a la derecha. El archivo tiene las siguientes secciones importantes:
   + Una sección `Triggers`, en la parte superior. Indica que el flujo de trabajo debe iniciarse siempre que se inserte o envíe código en la ramificación `main` del repositorio de código fuente predeterminado. Si se envía a otras ramificaciones (por ejemplo, `test`), este flujo de trabajo no se iniciará. El flujo de trabajo se ejecuta con los archivos de la ramificación `main`.
   + Una sección `Actions`, bajo `Triggers`. En esta sección, se definen las acciones que aparecen en el diagrama del flujo de trabajo.

1. Seleccione la pestaña **Último estado** (cerca de la parte superior) y elija cualquier acción en el diagrama del flujo de trabajo.

1. A la derecha, seleccione la pestaña **Configuración** para ver los ajustes de configuración utilizados por la acción durante la última ejecución. Cada parámetro de configuración tiene una propiedad coincidente en el archivo de definición del flujo de trabajo.

1. Deje la consola abierta y pase al siguiente procedimiento.

**Revisión de los registros de compilación y los informes de pruebas**

1. Seleccione la pestaña **Último estado**.

1. En el diagrama de flujo de trabajo, elija la **DeployFrontend**acción.

1. Espere a que finalice la acción. Observe el icono “en curso” (![\[Workflow in progress.\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/flows/run-in-progress.png)) y espere a que cambie al icono de “éxito” (![\[Workflow success.\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/flows/run-success.png)).

1. Seleccione la acción **build\$1backend**.

1. Seleccione la pestaña **Registros** y expanda un par de secciones para ver los mensajes de registro en estos pasos. Puede ver los mensajes relacionados con la configuración del backend.

1. Seleccione la pestaña **Informes** y, a continuación, elija el `backend-coverage.xml` informe. CodeCatalyst muestra el informe asociado. El informe muestra las pruebas de cobertura de código que se realizaron e indica la proporción de líneas de código que se validaron correctamente mediante las pruebas (por ejemplo, el 80 %).

   Para obtener más información sobre los informes de pruebas, consulte [Pruebas con flujos de trabajoPruebas con flujos de trabajo](test-workflow-actions.md).
**sugerencia**  
También puede ver los informes de las pruebas seleccionando **Informes** en el panel de navegación.

1. Deje la CodeCatalyst consola abierta y continúe con el procedimiento siguiente.

**Confirmación de implementación correcta en la aplicación moderna**

1. Vuelva al **ApplicationDeploymentPipeline**flujo de trabajo y elija el *string* enlace **Ejecutar** de la última ejecución.

1. En el diagrama de flujo de trabajo, busca la **DeployFrontend**acción y selecciona el enlace **Ver aplicación**. Aparecerá el sitio web de Mysfit.
**nota**  
Si no ves el enlace **Ver la aplicación** dentro de la **DeployFrontend**acción, asegúrate de elegir el enlace del ID de ejecución.

1. Busque el pegaso de Mysfit, llamado **Twilight Glitter**. Como puede ver, la edad tiene el valor `6`. Va a hacer un cambio en el código para actualizar la edad.

## Paso 7: solicitar que otras personas revisen los cambios
<a name="getting-started-template-project-pull-request"></a>

Ahora que tiene los cambios en una ramificación llamada `test`, puede pedir que otras personas los revisen, creando para ello una solicitud de extracción. Siga estos pasos para crear una solicitud de extracción y combinar los cambios desde la ramificación `test` a la ramificación `main`.

**Creación de una solicitud de extracción**

1. Vaya a su proyecto.

1. Realice una de las siguientes acciones:
   + En el panel de navegación, seleccione **Código**, seleccione **Solicitudes de extracción** y seleccione **Crear solicitud de extracción**. 
   + En la página de inicio del repositorio, seleccione **Más** y, después, seleccione **Crear solicitud de extracción**.
   + En la página del proyecto, seleccione **Crear solicitud de extracción**.

1. En **Repositorio de origen**, asegúrese de que el repositorio de código fuente especificado sea el que contenga el código confirmado. Esta opción solo aparece si no ha creado la solicitud de extracción desde la página principal del repositorio.

1. En **Ramificación de destino**, elija la ramificación en la que quiera combinar el código después de revisarlo. 

1. En **Ramificación de origen**, elija la ramificación que contenga el código confirmado. 

1. En **Título de la solicitud de extracción**, introduzca un título que ayude a otros usuarios a entender qué es lo que hay que revisar y por qué. 

1. (Opcional) En **Descripción de la solicitud de extracción**, proporcione información, como un enlace a las incidencias o una descripción de los 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 incorporación de cambios. Puede 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 características de IA generativa estén habilitadas en el espacio y no estén disponibles para las solicitudes de extracción en los repositorios vinculados. Para obtener más información, consulte [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html). 

1. (Opcional) En **Problemas**, seleccione **Vincular problemas** y, a continuación, elija un problema de la lista o introduzca su ID. Para desvincular un problema, seleccione el icono de desvinculación.

1. (Opcional) En **Revisores obligatorios**, seleccione **Agregar revisores obligatorios**. Elija en la lista miembros del proyecto para añadirlos. Los revisores obligatorios deben aprobar los cambios antes de poder combinar la solicitud de extracción en la ramificación de destino. 
**nota**  
No es posible agregar un revisor como revisor obligatorio y como revisor opcional. No es posible añadirse a uno mismo como revisor. 

1. (Opcional) En **Revisores opcionales**, seleccione **Agregar revisores opcionales**. Elija en la lista miembros del proyecto para añadirlos. No es obligatorio que los revisores opcionales aprueben los cambios para poder combinar la solicitud de extracción en la ramificación de destino. 

1. Revise las diferencias entre las ramificaciones. La diferencia que se muestra en una solicitud de extracción consiste en los cambios entre la revisión en la ramificación de origen y la base de combinación, que es la confirmación del encabezado en la ramificación de destino en el momento en que se creó la solicitud de extracción. Si no se muestra ningún cambio, es posible que las ramificaciones sean idénticas o que haya elegido la misma ramificación tanto para el origen como para el destino. 

1. Cuando tenga claro que la solicitud de extracción contiene el código y los cambios que desea revisar, elija **Crear**.
**nota**  
Una vez creada la solicitud de extracción, podrá 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. Puede añadir enlaces a recursos, como archivos, utilizando el signo @ seguido del nombre del archivo. 

Al crear la solicitud de extracción, el **OnPullRequest**flujo de trabajo comienza a utilizar los archivos fuente de la `test` sucursal. Mientras los revisores aprueban el cambio de código, puede observar los resultados seleccionando el flujo de trabajo y viendo el resultado de la prueba.

Cuando otros hayan revisado el cambio, podrá combinar el código. Al combinar el código con la ramificación predeterminada, se iniciará automáticamente el flujo de trabajo que compilará e implementará los cambios.<a name="getting-started-template-project-pull-requests-merge-console"></a>

**Para fusionar una solicitud de extracción desde la CodeCatalyst consola**

1. Vaya al proyecto de aplicación moderna.

1. En la página del proyecto, en **Solicitudes de extracción abiertas**, elija la solicitud de extracción que quiera combinar. Si no ve la solicitud de extracción, seleccione **Ver todas** y selecciónela de la lista. Seleccione **Combinar**.

1. Elija entre las estrategias de combinación disponibles para la solicitud de extracción. Puede seleccionar o deseleccionar la opción para eliminar la ramificación de origen después de combinar la solicitud de extracción; después, seleccione **Combinar**.
**nota**  
Si el botón **Combinar** no está activo o ves la etiqueta **No se puede combinar**, es porque uno o varios revisores necesarios aún no han aprobado la solicitud de extracción o la solicitud de extracción no se puede fusionar en la consola. CodeCatalyst Si hay algún revisor que no ha aprobado la solicitud de extracción, aparecerá el icono de reloj en **Información general**, en el área **Detalles de la solicitud de extracción**. Si todos los revisores obligatorios han aprobado la solicitud de extracción, pero el botón **Combinar** sigue inactivo, es posible que haya un conflicto de combinación. Puedes resolver los conflictos de fusión de la rama de destino en la CodeCatalyst consola y, a continuación, fusionar la solicitud de extracción, o puedes resolver los conflictos y fusionar localmente y, a continuación, enviar la confirmación que contiene la fusión a. CodeCatalyst Para obtener más información, consulte [Combinación de una solicitud de extracción (Git)](pull-requests-merge.md#pull-requests-merge-git) y la documentación de Git.

Una vez que hayas fusionado los cambios de la `test` rama en la **main** rama, el cambio inicia automáticamente el **ApplicationDeploymentPipeline**flujo de trabajo que crea e implementa el cambio. <a name="getting-started-template-project-pull-requests-merge-view-success"></a>

**Para ver cómo se ejecuta la confirmación combinada en el flujo de trabajo ApplicationDeploymentPipeline**

1. En el panel de navegación, elija **CI/CD** y, a continuación, elija **Flujos de trabajo**. 

1. En **Flujos de trabajo**, en **ApplicationDeploymentPipeline**, expanda **Ejecuciones recientes**. Puede ver la ejecución del flujo de trabajo iniciada por la confirmación de la combinación. Si lo desea, selecciónela para ver el progreso de la ejecución. 

1. Cuando se complete la ejecución, cargue de nuevo la URL que visitó anteriormente. Compruebe que la edad del pegaso haya cambiado.  
![\[El cambio de código combinado, compilado e implementado, es visible en la aplicación\]](http://docs.aws.amazon.com/es_es/codecatalyst/latest/userguide/images/modified-mysfits.png)

## Paso 8: cerrar el problema
<a name="getting-started-template-project-close-issue"></a>

Cuando se resuelve un problema, se puede cerrar en la CodeCatalyst consola.

**Cierre de un problema en un proyecto**

1. Vaya a su proyecto.

1. En el panel de navegación, elija **Problemas**.

1. Drag-and-drop el problema de la columna **Listo**.

Para obtener más información, consulte [Realice un seguimiento y organice el trabajo con problemas en CodeCatalystSeguimiento y organización de los trabajos con problemas](issues.md).

## Eliminar recursos
<a name="getting-started-template-project-clean-up"></a>

Limpie CodeCatalyst y elimine AWS los rastros de este tutorial de su entorno.

Puede seguir utilizando el proyecto que ha usado en este tutorial o puede eliminar el proyecto y sus recursos asociados.

**nota**  
Al eliminar este proyecto, se eliminarán todos los repositorios, problemas y artefactos del proyecto para todos los miembros.

**Para eliminar un proyecto**

1. Acceda al proyecto y elija **Configuración del proyecto**.

1. Elija la pestaña **General**.

1. En el nombre del proyecto, seleccione **Eliminar proyecto**.

**Para eliminar recursos en Amazon S3 CloudFormation y en Amazon**

1. Inicia sesión en el Consola de administración de AWS con la misma cuenta que añadiste a tu CodeCatalyst espacio.

1. Vaya al servicio de **CloudFormation**.

1. Elimina la pila de **mysfits *string***.

1. Elimine la pila de mysfits de **desarrollo *string***.

1. Elija (pero no elimine) la pila. **CDKToolkit** Elija la pestaña **Recursos**. Elija el **StagingBucket**enlace y elimine el depósito y su contenido en Amazon S3.
**nota**  
Si no elimina este bucket manualmente, es posible que aparezca un error al volver a ejecutar el esquema Aplicación web moderna de tres niveles.

1. (Opcional) Elimine la **CDKToolkit**pila.

## Referencia
<a name="getting-started-template-project-reference"></a>

El modelo moderno de aplicación web de tres niveles despliega los recursos en su CodeCatalyst espacio y en su AWS cuenta en la nube. AWS Los recursos son los siguientes:
+ **En** tu espacio: CodeCatalyst 
  + Un CodeCatalyst proyecto que incluye los siguientes recursos:
    + Un [repositorio de código fuente](source.md): este repositorio contiene código de muestra para una aplicación web Mysfits.
    + Un [flujo de trabajo](workflow.md): este flujo compila e implementa el código de la aplicación Mysfits cada vez que hay un cambio en la ramificación predeterminada.
    + Un [panel de problemas](issues.md) y un registro de tareas pendientes: se pueden utilizar para planificar el trabajo y hacer un seguimiento de este.
    + Un [conjunto de informes de pruebas](test-workflow-actions.md): este conjunto contiene informes automatizados incluidos en el código de muestra.
+ **En lo asociado Cuenta de AWS**:
  + Una **CDKToolkit**pila: esta pila despliega los siguientes recursos:
    + Un depósito provisional de Amazon S3, una política del depósito y la AWS KMS clave utilizada para cifrar el depósito.
    + Un rol de implementación de IAM para la acción de implementación.
    + AWS Funciones y políticas de IAM que respaldan los recursos de la pila.
**nota**  
No **CDKToolkit**se desmonta ni se recrea para cada implementación. Se trata de una pila que se inicia en cada cuenta como soporte para el AWS CDK.
  + Una pila de **mysfits de desarrollo**: esta *string* BackEnd pila implementa los siguientes recursos de back-end:
    + Un punto de conexión de Amazon API Gateway.
    + AWS Funciones y políticas de IAM en apoyo de los recursos de la pila.
    + Una AWS Lambda función y una capa proporcionan la plataforma de cómputo sin servidor para la aplicación moderna.
    + Un rol y una política de IAM para la implementación del bucket y de la función de Lambda.
  + Una pila **mysfits**: esta *string* pila implementa la aplicación de interfaz. AWS Amplify 

### Véase también
<a name="getting-started-template-project-reference-links"></a>

Para obtener más información sobre los AWS servicios en los que se crean los recursos como parte de este tutorial, consulte lo siguiente:
+ **Amazon S3**: un servicio de almacenamiento de activos frontend en un servicio de almacenamiento de objetos con el mejor nivel del sector en escalabilidad, disponibilidad de datos, seguridad y rendimiento. Para obtener más información, consulte la [Guía del usuario de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/).
+ **Amazon API Gateway**: un servicio para crear, publicar, mantener, supervisar y proteger REST, HTTP y WebSocket APIs a cualquier escala. Para obtener más información, consulte la [Guía para desarrolladores de API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/).
+ **Amplify**: un servicio para alojar aplicaciones frontend. Para obtener más información, consulte la [Guía del usuario de AWS Amplify Hosting](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).
+ **AWS Cloud Development Kit (AWS CDK)**— Un marco para definir la infraestructura de nube en el código y aprovisionarla mediante AWS CloudFormation ella. AWS CDK Incluye el AWS CDK kit de herramientas, que es una herramienta de línea de comandos para interactuar con AWS CDK aplicaciones y pilas. Para obtener más información, consulte la [Guía para desarrolladores de AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/).
+ **Amazon DynamoDB**: un servicio de base de datos NoSQL completamente administrado para el almacenamiento de datos. Para obtener más información, consulte la [Guía para desarrolladores de Amazon DynamoDB](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html).
+ **AWS Lambda**: un servicio para invocar el código en una infraestructura de computación de alta disponibilidad sin aprovisionar ni administrar servidores. Para obtener más información, consulte la [Guía para desarrolladores de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/).
+ **AWS IAM**: un servicio para controlar de forma segura el acceso a los recursos AWS y sus recursos. Para obtener más información, consulte la [Guía del usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).