

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.

# Uso de puertas en una ejecución de flujo de trabajo
<a name="workflows-gates"></a>

Una *puerta* es un componente de flujo de trabajo que se puede utilizar para impedir que la ejecución de un flujo de trabajo continúe a menos que se cumplan determinadas condiciones. Un ejemplo de puerta es la puerta de **aprobación**, en la que los usuarios deben enviar una aprobación en la CodeCatalyst consola antes de permitir que continúe la ejecución del flujo de trabajo.

Puede añadir puertas entre las secuencias de acciones de un flujo de trabajo o antes de la primera acción (que se ejecuta inmediatamente después de descargar el **Origen**). También puede agregar puertas después de la última acción, si es necesario.

Para obtener más información acerca de las ejecuciones de flujos de trabajo, consulte [Ejecución de un flujo de trabajo](workflows-working-runs.md).

**Topics**
+ [Tipos de puertas](#workflows-gates-types)
+ [¿Puedo configurar una puerta para que se ejecute en paralelo a otra acción?](#workflows-approval-parallel)
+ [¿Puedo usar una puerta para impedir que se inicie la ejecución de un flujo de trabajo?](#workflows-gates-prevent)
+ [Limitaciones de puertas](#workflows-gate-limitations)
+ [Cómo añadir una puerta a un flujo de trabajo](workflows-gates-add.md)
+ [Secuenciación de puertas y acciones](workflows-gates-depends-on.md)
+ [Especificación de la versión de una puerta](workflows-gates-version.md)

## Tipos de puertas
<a name="workflows-gates-types"></a>

Actualmente, Amazon CodeCatalyst admite un tipo de puerta: la puerta de **aprobación**. Para obtener más información, consulte [Exigencia de aprobaciones en ejecuciones de flujos de trabajo](workflows-approval.md).

## ¿Puedo configurar una puerta para que se ejecute en paralelo a otra acción?
<a name="workflows-approval-parallel"></a>

No. Las puertas solo pueden ejecutarse antes o después de una acción. Para obtener más información, consulte [Secuenciación de puertas y acciones](workflows-gates-depends-on.md).

## ¿Puedo usar una puerta para impedir que se inicie la ejecución de un flujo de trabajo?
<a name="workflows-gates-prevent"></a>

Sí, con cualificaciones.

Puede impedir que la ejecución de un flujo de trabajo *realice tareas*, lo que es ligeramente diferente de impedir que se *inicie*.

Para evitar que un flujo de trabajo realice tareas, agregue una puerta antes de la primera acción del flujo de trabajo. En este escenario, *se iniciará* la ejecución de un flujo de trabajo (es decir, se descargarán los archivos del repositorio de código fuente), pero no podrá realizar tareas hasta que se desbloquee la puerta.

**nota**  
Los flujos de trabajo que se inician y después se bloquean mediante una puerta se siguen teniendo en cuenta para la cuota de *Máximo de ejecuciones simultáneas del flujo de trabajo por espacio* y también para otras cuotas. Para asegurarse de no superar las cuotas de flujo de trabajo, considere la posibilidad de utilizar un desencadenante de flujo de trabajo para iniciar un flujo de trabajo de forma condicional en lugar de utilizar una puerta. Plantéese también la posibilidad de utilizar una regla de aprobación de solicitudes de extracción en lugar de una puerta. Para obtener más información sobre las cuotas, los desencadenadores y las reglas de aprobación de solicitudes de extracción, consulte [Cuotas para flujos de trabajo en CodeCatalyst](workflows-quotas.md), [Inicio de un flujo de trabajo y ejecución automática mediante desencadenadores](workflows-add-trigger.md) y [Administración de los requisitos para combinar una solicitud de extracción con reglas de aprobación](source-pull-requests-approval-rules.md).

## Limitaciones de puertas
<a name="workflows-gate-limitations"></a>

Las puertas presentan las siguientes limitaciones:
+ Las puertas no se pueden utilizar junto con las característica de computación compartida. Para obtener más información acerca de esta característica, consulte [Uso compartido de recursos de computación entre acciones](compute-sharing.md).
+ Las puertas no se pueden usar dentro de grupos de acciones. Para obtener más información sobre los grupos de acciones, consulte [Agrupación de acciones en grupos de acciones](workflows-group-actions.md).

# Cómo añadir una puerta a un flujo de trabajo
<a name="workflows-gates-add"></a>

En Amazon CodeCatalyst, puede añadir una puerta a un flujo de trabajo para impedir que continúe a menos que se cumplan determinadas condiciones. Siga estas instrucciones para añadir una puerta a un flujo de trabajo.

Para obtener más información acerca de las puertas, consulte [Uso de puertas en una ejecución de flujo de trabajo](workflows-gates.md).

**Cómo añadir y configurar una puerta**

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

1. Elija el proyecto.

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

1. Elija el nombre del flujo de trabajo. Puede filtrar por el nombre del repositorio de código fuente o la ramificación donde esté definido el flujo de trabajo, o bien por el nombre o el estado del flujo de trabajo.

1. Seleccione **Editar**.

1. Elija **Visual**.

1. A la izquierda, seleccione **Puertas**.

1. En el catálogo de puertas, busque una puerta y seleccione el signo más (**\$1**) para añadir la puerta a su flujo de trabajo.

1. Configure la puerta. Seleccione **Visual** para usar el editor visual o **YAML** para usar el editor de YAML. Para obtener instrucciones detalladas, consulte:
   + [Adición de una puerta de Aprobación](workflows-approval-add.md)

1. (Opcional) Seleccione **Validar** para asegurarse de que el código de YAML sea válido.

1. Seleccione **Confirmar** para confirmar los cambios.

# Secuenciación de puertas y acciones
<a name="workflows-gates-depends-on"></a>

En Amazon CodeCatalyst, puede configurar una puerta para que se ejecute antes o después de una acción, grupo de acciones o puerta del flujo de trabajo. Por ejemplo, puede configurar una puerta de `Approval` para que se ejecute antes de una acción `Deploy`. En este caso, se dice que la acción `Deploy` *depende de* la puerta de `Approval`.

Para configurar las dependencias entre las puertas y las acciones, configure la propiedad **Depends on** de la acción. Para obtener instrucciones, consulte [Configuración de dependencias entre acciones](workflows-depends-on-set-up.md). Las instrucciones a las que se hace referencia se refieren a las *acciones* del flujo de trabajo, pero se aplican igualmente a las puertas. 

Para ver un ejemplo de cómo configurar la propiedad **Depends on** con una puerta, consulte[Ejemplo: Una puerta de Aprobación](workflows-approval-example.md).

Para obtener más información acerca de las puertas, consulte [Uso de puertas en una ejecución de flujo de trabajo](workflows-gates.md).

Para obtener más información acerca de las acciones de flujos de trabajo, consulte [Configuración de acciones de flujo de trabajo](workflows-actions.md).

# Especificación de la versión de una puerta
<a name="workflows-gates-version"></a>

De forma predeterminada, al agregar una puerta a un flujo de trabajo, CodeCatalyst añade la versión completa al archivo de definición del flujo de trabajo con el formato:

`vmajor.minor.patch` 

Por ejemplo:

```
My-Gate:
  Identifier: aws/approval@v1
```

Puede alargar la versión para que el flujo de trabajo utilice una versión principal o secundaria específica de la puerta. Para obtener instrucciones, consulte [Especificación de la versión de la acción que se va a utilizar](workflows-action-versions.md). El tema al que se hace referencia tiene que ver con las acciones del flujo de trabajo, pero se aplica igualmente a las puertas.

Para obtener más información acerca de las puertas en CodeCatalyst, consulte [Uso de puertas en una ejecución de flujo de trabajo](workflows-gates.md).