Amazon CodeCatalyst ya no está disponible para nuevos clientes. Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cómo migrar de CodeCatalyst.
Ejemplos: Desencadenadores en flujos de trabajo
Los siguientes ejemplos muestran cómo agregar diferentes tipos de desencadenadores en un archivo de definición de flujo de trabajo de Amazon CodeCatalyst.
Para obtener más información acerca de los desencadenadores, consulte Inicio de un flujo de trabajo y ejecución automática mediante desencadenadores.
Temas
Ejemplo: Desencadenador de inserción de código sencillo
El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se envía código a cualquier ramificación del repositorio de código fuente.
Cuando se activa este desencadenador, CodeCatalyst inicia una ejecución de flujo de trabajo con los archivos de la ramificación a la que se está insertando (es decir, la ramificación de destino).
Por ejemplo, si se inserta una confirmación en main, CodeCatalyst inicia una ejecución de flujo de trabajo utilizando el archivo de definición del flujo de trabajo y otros archivos de origen en main.
Otro ejemplo: si se inserta una confirmación en feature-branch-123, CodeCatalyst inicia una ejecución de flujo de trabajo utilizando el archivo de definición del flujo de trabajo y otros archivos de origen en feature-branch-123.
Triggers: - Type: PUSH
nota
Si desea que la ejecución de un flujo de trabajo se inicie solo cuando realice inserciones en main, consulte Ejemplo: Desencadenador de inserción en main sencillo.
Ejemplo: Desencadenador de inserción en main sencillo
El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se inserta código en la ramificación main (y solo en la ramificación main) en el repositorio de código fuente.
Triggers: - Type: PUSH Branches: - main
Ejemplo: Desencadenador de solicitud de extracción sencillo
El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se crea o revisa una solicitud de extracción en el repositorio de código fuente.
Cuando se activa este desencadenador, CodeCatalyst inicia una ejecución de flujo de trabajo con el archivo de definición y otros archivos de origen en la ramificación desde la que se está realizando la extracción (es decir, la ramificación de origen).
Por ejemplo, si crea una solicitud de extracción con una ramificación de origen llamada feature-123 y una ramificación de destino llamada main, CodeCatalyst inicia una ejecución de flujo de trabajo utilizando el archivo de definición del flujo de trabajo y otros archivos de origen en feature-123.
Triggers: - Type: PULLREQUEST Events: - OPEN - REVISION
Ejemplo: Desencadenador de programación sencillo
El siguiente ejemplo muestra un desencadenador que inicia una ejecución de flujo de trabajo a medianoche (UTC+0) de lunes a viernes.
Cuando se activa este desencadenador, CodeCatalyst inicia una sola ejecución de flujo de trabajo para cada ramificación del repositorio de código fuente que contenga un archivo de definición de flujo de trabajo con este desencadenador.
Por ejemplo, si tiene tres ramificaciones en su repositorio de código fuente, main, release-v1 y feature-123, y cada una de estas ramificaciones contiene un archivo de definición de flujo de trabajo con el siguiente desencadenador, CodeCatalyst inicia tres ejecuciones de flujo de trabajo: una con los archivos de main, otra con los archivos de release-v1 y otra con los archivos de feature-123.
Triggers: - Type: SCHEDULE Expression: "0 0 ? * MON-FRI *"
Para ver más ejemplos de expresiones cron que puede utilizar en la propiedad Expression, consulte Expression.
Ejemplo: Desencadenador con programación y ramificaciones
El siguiente ejemplo muestra un desencadenador que inicia una ejecución de flujo de trabajo a las 18:15 h (UTC+0) cada día.
Cuando se activa este desencadenador, CodeCatalyst inicia una ejecución de flujo de trabajo con los archivos de la ramificación main e inicia ejecuciones adicionales para cada ramificación que comience por release-.
Por ejemplo, si tiene ramificaciones denominadas main, release-v1, bugfix-1 y bugfix-2 en el repositorio de código fuente, CodeCatalyst inicia dos ejecuciones de flujo de trabajo: una con los archivos de main y otra con los archivos de release-v1. No inicia ejecuciones del flujo de trabajo para las ramificaciones bugfix-1 y bugfix-1.
Triggers: - Type: SCHEDULE Expression: "15 18 * * ? *" Branches: - main - release\-.*
Para ver más ejemplos de expresiones cron que puede utilizar en la propiedad Expression, consulte Expression.
Ejemplo: Desencadenador con una programación, una inserción y ramificaciones
El siguiente ejemplo muestra un desencadenador que inicia una ejecución de flujo de trabajo a medianoche (UTC+0) todos los días y siempre que se inserte código a la ramificación main.
En este ejemplo:
-
La ejecución de un flujo de trabajo comienza todos los días a medianoche. La ejecución del flujo de trabajo utiliza el archivo de definición del flujo de trabajo y otros archivos de origen en la ramificación
main. -
Una ejecución de flujo de trabajo también se inicia cada vez que se inserta una confirmación a la ramificación
main. La ejecución del flujo de trabajo utiliza el archivo de definición del flujo de trabajo y otros archivos de origen en la ramificación de destino (main).
Triggers: - Type: SCHEDULE Expression: "0 0 * * ? *" Branches: - main - Type: PUSH Branches: - main
Para ver más ejemplos de expresiones cron que puede utilizar en la propiedad Expression, consulte Expression.
Ejemplo: Desencadenador con una extracción y ramificaciones
En el siguiente ejemplo, se muestra un desencadenador que inicia una ejecución de flujo de trabajo cada vez que alguien abre o modifica una solicitud de extracción con una ramificación de destino llamada main. Aunque la ramificación especificada en la configuración de Triggers sea main, la ejecución del flujo de trabajo utilizará el archivo de definición del flujo de trabajo y otros archivos de origen de la ramificación de origen (que es la ramificación desde la que se extrae).
Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION
Ejemplo: Desencadenador con una extracción, ramificaciones y un evento CLOSED
En el siguiente ejemplo, se muestra un desencadenador que inicia una ejecución de flujo de trabajo cada vez que se cierra una solicitud de extracción en una ramificación que comience por main.
En este ejemplo:
-
Cuando se cierras una solicitud de extracción con una ramificación de destino que comience por
main, se inicia automáticamente una ejecución de flujo de trabajo con el archivo de definición del flujo de trabajo y otros archivos de origen de la ramificación de origen (ahora cerrada). -
Si ha configurado el repositorio de código fuente para que elimine las ramificaciones automáticamente después de combinar una solicitud de extracción, estas ramificaciones nunca tendrán la oportunidad de entrar en el estado
CLOSED. Esto significa que las ramificaciones combinadas no activarán el desencadenador de la solicitud de extracciónCLOSED. La única forma de activar el desencadenadorCLOSEDen este escenario es cerrar la solicitud de extracción sin combinarla.
Triggers: - Type: PULLREQUEST Branches: - main.* Events: - CLOSED
Ejemplo: Desencadenador con inserción, ramificaciones y archivos
El siguiente ejemplo muestra un desencadenador que inicia la ejecución de un flujo de trabajo cada vez que se realiza un cambio en el archivo filename.txt o en cualquier archivo del directorio src en la ramificación main.
Cuando se activa este desencadenador, CodeCatalyst inicia una ejecución de flujo de trabajo con el archivo de definición y otros archivos de origen en la ramificación main.
Triggers: - Type: PUSH Branches: - main FilesChanged: - filename.txt - src\/.*
Ejemplo: Disparador manual
Para configurar un disparador manual, omita la sección Triggers del archivo de definición del flujo de trabajo. Sin esta sección, los usuarios se ven obligados a iniciar el flujo de trabajo manualmente pulsando el botón Ejecutar en la consola de CodeCatalyst. Para obtener más información, consulte Inicio manual de la ejecución de un flujo de trabajo.
Ejemplo: Desencadenadores en una configuración de flujo de trabajo múltiple de integración y entrega continuas
En este ejemplo, se describe cómo configurar los desencadenadores cuando quiera utilizar flujos de trabajo independientes de Amazon CodeCatalyst para la integración continua (CI) y la implementación continua (CD).
En este escenario, debe configurar dos flujos de trabajo:
-
un flujo de trabajo de CI: este flujo de trabajo crea y prueba la aplicación cuando se crea o revisa una solicitud de extracción;
-
un flujo de trabajo de CD: este flujo de trabajo crea e implementa la aplicación cuando se combina una solicitud de extracción.
El archivo de definición del flujo de trabajo de CI tendría un aspecto similar al siguiente:
Triggers: - Type: PULLREQUEST Branches: - main Events: - OPEN - REVISION Actions: BuildAction:instructions-for-building-the-appTestAction:instructions-for-test-the-app
El código Triggers indica que un flujo de trabajo debe iniciarse automáticamente cada vez que un desarrollador de software cree una solicitud de extracción (o modifique una) solicitando la combinación de su ramificación de características con la ramificación main. CodeCatalyst inicia la ejecución del flujo de trabajo utilizando el código fuente de la ramificación de origen (que es la ramificación de características).
El archivo de definición del flujo de trabajo de CD tendría un aspecto similar al siguiente:
Triggers: - Type: PUSH Branches: - main Actions: BuildAction:instructions-for-building-the-appDeployAction:instructions-for-deploying-the-app
El código Triggers indica que el flujo de trabajo se inicie automáticamente cuando se produzca una combinación en main. CodeCatalyst inicia la ejecución del flujo de trabajo utilizando el código fuente de la ramificación main.