

# Creación de una pila a partir del código fuente del repositorio con sincronización de Git
<a name="git-sync-create-stack-from-repository-source-code"></a>

En este tema se explica cómo crear una pila de CloudFormation que se sincronice con un repositorio de Git mediante la sincronización de Git.

**importante**  
Antes de continuar, complete todos los [requisitos previos](git-sync-prereq.md) de la sección anterior. 

## Creación de una pila a partir del código fuente del repositorio
<a name="create-stack-from-repository-source-code"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en la que creó la pila.

1. En la página **Pilas**, elija **Crear pila** y, a continuación, elija **Con recursos nuevos (estándar)**.

1. En la página **Crear pila**, proceda del modo siguiente:

   1. En **Requisito previo: preparar la plantilla**, mantenga seleccionada la opción **Seleccione una plantilla existente**.

   1. En **Especificar plantilla**, elija **Sincronizar desde Git** y, a continuación, seleccione **Siguiente**.

1. En la página **Especificar los detalles de la pila**, en **Nombre de la pila**, ingrese un nombre para la pila. Los nombres de pilas pueden incluir letras (A-Z y a-z), números (0-9) y guiones (-).

1. En **Archivo de implementación de Stack**, **Creación del archivo de implementación**:
   + Si *no* ha creado un archivo de implementación de pilas y lo ha agregado al repositorio, elija **Crear el archivo con los siguientes parámetros y colocarlo en mi repositorio**.
   + Si tiene archivo de implementación de pila en su repositorio, seleccione **Proporciono mi propio archivo en mi repositorio**.

1. En **Repositorio de definiciones de plantillas**, seleccione **Elegir un repositorio de Git vinculado** para seleccionar un repositorio de Git que ya está vinculado a CloudFormation o **Vincular un repositorio de Git** para vincular uno nuevo. Si elige **Vincular un repositorio de Git**, haga lo siguiente:

   1. En **Seleccionar el proveedor de repositorios**, elija una de las siguientes opciones:
      + **GitHub**
      + **GitHub Enterprise Server**
      + **GitLab**
      + **Bitbucket**
      + **GitLab autoadministrado**

   1. Para **Conexión**, elija una conexión de la lista. Si no aparece ninguna opción en la lista **Conexión**, elija **agregar una nueva conexión** para ir a la [Consola de conexiones](https://console.aws.amazon.com/codesuite/settings/connections) y crear una conexión con su repositorio.

1. En la lista de **Repositorios**, seleccione el repositorio de Git que contenga el archivo de plantillas de la pila.

1. En la lista de **Ramas**, seleccione la rama que quiere que supervise la sincronización de Git sync.
**nota**  
La sincronización de Git solo supervisa la rama seleccionada para detectar cambios en la plantilla de CloudFormation y los archivos de implementación de la pila. Cualquier cambio que desee aplicar a su pila debe estar registrado en esta rama.

1. Para la **Ruta del archivo de implementación**, especifique la ruta completa, incluido el nombre del archivo de implementación de la pila, desde la raíz de la rama de repositorio.

   Si CloudFormation genera el archivo por usted, aquí es donde se guardará el archivo en su repositorio. Si proporciona el archivo, esta es la ubicación del archivo en su repositorio.

1. Agregar un **rol de IAM**. El rol de IAM incluye los permisos necesarios para que CloudFormation sincronice la pila desde su repositorio de Git. Puede elegir **Nuevo rol de IAM** para generar un nuevo rol o elegir **Rol de IAM existente** para seleccionar un rol existente de su Cuenta de AWS. Si decide generar un nuevo rol, los permisos necesarios se incluyen en el rol.

1. Cómo habilitar o desactivar los comentarios en una solicitud de extracción:
   + Para incluir la información posterior al conjunto de cambios de CloudFormation en las solicitudes de cambios para actualizaciones de pila, mantenga activada la opción **Habilitar comentarios en las solicitudes de cambios**.
   + Si desactiva esta opción, CloudFormation no describirá las diferencias entre la configuración de la pila actual y los cambios propuestos en las solicitudes de incorporación de cambios cuando se actualicen los archivos del repositorio.

1. Para **Ruta del archivo de plantillas**, especifique la ruta completa desde la raíz de su repositorio para el archivo de plantillas de la pila.

1. (Opcional) Para especificar los parámetros de la pila, seleccione **Agregar parámetro**, brinde una clave y un valor para cada parámetro y, a continuación, seleccione **Siguiente**. Para obtener más información, consulte [Archivo de implementación de la pila](git-sync-concepts-terms.md#git-sync-concepts-terms-depoyment-file).

   Por ejemplo, para especificar un parámetro **port=8080** en el archivo de implementación de la pila, haga lo siguiente:

   1. Elija **Add parameter (Añadir parámetro)**.

   1. En **Clave**, escriba **port**.

   1. En **Valor**, introduzca **8080**.

1. (Opcional) Para especificar etiquetas de pila, seleccione **Agregar nueva etiqueta**, ingrese un valor y una clave de etiqueta, y luego elija **Siguiente**. Para obtener más información, consulte [Archivo de implementación de la pila](git-sync-concepts-terms.md#git-sync-concepts-terms-depoyment-file).

1. Seleccione **Siguiente** para continuar con **Configurar las opciones de la pila**. Para obtener más información acerca de cómo configurar opciones de la pila, consulte [Configurar las opciones la pila](cfn-console-create-stack.md#configure-stack-options).

   Cuando haya completado la configuración de la pila, seleccione **Siguiente** para continuar.

1. Revise la configuración de la pila y confirme lo siguiente:
   + La plantilla de la pila se configuró correctamente y se estableció en **Sincronizar desde Git**.
   + El archivo de implementación se configuró correctamente.
   + El repositorio de definiciones de plantillas se configuró correctamente y, en particular, se seleccionó el **Repositorio** y **Nombre de rama** correctos.
   + La vista previa del archivo de implementación es correcta y contiene los parámetros y valores esperados.

1. Seleccione **Enviar** para crear la pila.

   Después de que selecciona **Enviar**, se crea automáticamente una solicitud de extracción en su repositorio de Git. Debe combinar esta solicitud de extracción en su repositorio de Git para crear su pila. Una vez que se crea la pila, CloudFormation supervisa su repositorio de Git en busca de cambios.

## Actualización de la pila desde el repositorio de Git
<a name="update-stack-from-repository-source-code"></a>

Para actualizar la pila, realice los cambios directamente en el archivo de plantilla o en el archivo de implementación de la pila en su repositorio de Git. Tras confirmar los cambios en la rama supervisada, CloudFormation actualiza automáticamente la pila. Si utiliza solicitudes de extracción, se crea automáticamente una solicitud de extracción en su repositorio de Git antes de que se actualice la pila. Debe combinar esta solicitud de extracción en su repositorio de Git para actualizar su pila.

En la consola de CloudFormation, puede seleccionar la pila y elegir la pestaña **Sincronización de Git** para ver información sobre el estado de la pila y los eventos de sincronización. Para obtener más información, consulte [Panel de estado de sincronización de Git](git-sync-status.md).