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.
Agregue tipos de eventos de activación con código, push o pull request
Puede configurar filtros para que los desencadenadores de canalización inicien las ejecuciones de canalización para diferentes eventos de Git, como la inserción de etiquetas o ramificaciones, los cambios en rutas de archivo específicas, las solicitudes de extracción abiertas en una ramificación específica, etc. Puede utilizar la AWS CodePipeline consola o los update-pipeline comandos create-pipeline y de la misma AWS CLI para configurar los filtros de activación.
nota
El BranchName
campo de configuración de acciones define una sola rama, mientras que los activadores con filtros se pueden usar para cualquier rama o ramas que especifique. En el caso de una canalización en la que los activadores se utilizan para filtrar las ramas por solicitud de inserción o extracción, la canalización no utilizará la rama de BranchName
campo predeterminada en la configuración de acciones. Sin embargo, la rama del BranchName
campo en la configuración de acciones es la predeterminada cuando la canalización se inicia manualmente. Para ver un ejemplo, consulta 5: El disparador está configurado mientras que la configuración de acción predeterminada BranchName se utiliza para un inicio manual.
Puede especificar filtros para los siguientes tipos de desencadenadores:
-
Inserción
Un desencadenador de inserción inicia una canalización cuando se envía un cambio al repositorio de origen. La ejecución utilizará la confirmación de la ramificación a la que se realice la inserción (es decir, la ramificación de destino). Puede filtrar desencadenadores de inserción en ramificaciones, rutas de archivo o etiquetas de Git.
-
Solicitud de extracción
Un desencadenador de solicitud de extracción inicia una canalización cuando se abre, actualiza o cierra una solicitud de extracción en el repositorio de origen. La ejecución utilizará la confirmación de la ramificación de origen a la que se realice la extracción (es decir, la ramificación de origen). Puede filtrar los desencadenadores de las solicitudes de extracción por ramificaciones y rutas de archivo.
Los tipos de eventos admitidos para las solicitudes de incorporación de cambios son los siguientes. Todos los demás eventos de solicitudes de extracción no se tienen en cuenta.
-
Opened (Abiertos)
-
Actualizado
-
Cerrado (fusionado)
nota
El comportamiento de algunos eventos de solicitud de extracción puede variar según el proveedor. Para obtener más información, consulte Extraiga los eventos de solicitud para activarlos por proveedor.
-
La definición de canalización permite combinar diferentes filtros en la misma configuración de desencadenador de inserción. Para obtener más detalles acerca de la definición de canalización, consulte Agregue filtros para los tipos de eventos de solicitud de inserción y extracción (CLI). Para obtener una lista de las definiciones de campos, consulta los activadores en la referencia sobre la estructura de Pipeline de esta guía.
Temas
Añada filtros para los tipos de eventos de solicitud de inserción y extracción (consola)
Puede utilizar la consola para agregar filtros para los eventos de inserción, así como incluir o excluir ramificaciones o rutas de archivo.
Añadir filtros (consola)
Inicie sesión en la CodePipeline consola AWS Management Console y ábrala en http://console.aws.amazon. com/codesuite/codepipeline/home
. Se muestran los nombres y el estado de todas las canalizaciones asociadas a tu AWS cuenta.
-
En Nombre, elija el nombre de la canalización que desea editar. De lo contrario, siga estos pasos en el asistente de creación de canalizaciones.
-
En la página de detalles de la canalización, elija Edit.
-
En la página Editar, seleccione la acción de origen que desee editar. Seleccione Editar activadores. Elija Especificar filtro.
-
En Tipo de evento, elija Insertar entre las siguientes opciones.
-
Seleccione Insertar para iniciar la canalización cuando se inserte un cambio en su repositorio de origen. Al elegir esta opción, los campos especifican filtros para las ramificaciones y las rutas de archivo o las etiquetas de Git.
-
Seleccione Solicitud de extracción para iniciar una canalización cuando se abra, actualice o cierre una solicitud de extracción en el repositorio de origen. Al elegir esta opción, los campos especifican filtros para las ramificaciones de destino y las rutas de archivo.
-
-
En Insertar, en Tipo de filtro, selecciona una de las siguientes opciones.
-
Seleccione Ramificación para especificar las ramificaciones del repositorio de origen que el desencadenador supervisa para saber cuándo iniciar la ejecución de un flujo de trabajo. En Incluir, introduzca los patrones de los nombres de las ramificaciones en formato glob que desee especificar para la configuración de desencadenador a fin de iniciar la canalización al realizar cambios en las ramificaciones especificadas. En Excluir, introduzca los patrones regex de los nombres de las ramificaciones en formato glob que desee especificar para que la configuración del desencadenador los ignore y no se inicie la canalización al realizar cambios en las ramificaciones especificadas. Para obtener más información, consulta Trabajar con patrones glob en la sintaxis.
nota
Si tanto la inclusión como la exclusión tienen el mismo patrón, la opción predeterminada es excluir el patrón.
Puede usar patrones glob para definir los nombres de las ramificaciones. Por ejemplo, use
main*
para hacer coincidir todas las ramificaciones que comiencen pormain
. Para obtener más información, consulta Trabajar con patrones glob en la sintaxis.En el caso de un desencadenador de inserción, especifique las ramificaciones en las que va a realizar la inserción, es decir, las ramificaciones de destino. En el caso de un desencadenador de solicitud de extracción, especifique las ramificaciones de destino en las que se va a abrir la solicitud de extracción.
-
(Opcional) En Rutas de archivo, especifique las rutas de archivo para su desencadenador. Introduzca los nombres en Incluir y Excluir según corresponda.
Puede usar patrones glob para definir los nombres de las rutas de archivo. Por ejemplo, use
prod*
para hacer coincidir todas las rutas de archivo que comiencen porprod
. Para obtener más información, consulta Trabajar con patrones glob en la sintaxis. -
Para configurar la configuración del desencadenador de canalización para que comience con las etiquetas de Git, seleccione Etiquetas. En Incluir, introduzca los patrones de los nombres de las etiquetas en formato glob que desee especificar para la configuración del desencadenador a fin de iniciar la canalización al liberar la etiqueta o etiquetas especificadas. En Excluir, introduzca los patrones regex de los nombres de las etiquetas en formato glob que desee especificar para que la configuración del desencadenador los ignore y no inicie la canalización al liberar la etiqueta o etiquetas especificadas. Si tanto la inclusión como la exclusión tienen el mismo patrón de etiquetas, la opción predeterminada es excluir el patrón de etiquetas.
-
-
En Empujar, en Tipo de filtro, elija una de las siguientes opciones.
-
Seleccione Ramificación para especificar las ramificaciones del repositorio de origen que el desencadenador supervisa para saber cuándo iniciar la ejecución de un flujo de trabajo. En Incluir, introduzca los patrones de los nombres de las ramificaciones en formato glob que desee especificar para la configuración de desencadenador a fin de iniciar la canalización al realizar cambios en las ramificaciones especificadas. En Excluir, introduzca los patrones regex de los nombres de las ramificaciones en formato glob que desee especificar para que la configuración del desencadenador los ignore y no se inicie la canalización al realizar cambios en las ramificaciones especificadas. Para obtener más información, consulta Trabajar con patrones glob en la sintaxis.
nota
Si tanto la inclusión como la exclusión tienen el mismo patrón, la opción predeterminada es excluir el patrón.
Puede usar patrones glob para definir los nombres de las ramificaciones. Por ejemplo, use
main*
para hacer coincidir todas las ramificaciones que comiencen pormain
. Para obtener más información, consulta Trabajar con patrones glob en la sintaxis.En el caso de un desencadenador de inserción, especifique las ramificaciones en las que va a realizar la inserción, es decir, las ramificaciones de destino. En el caso de un desencadenador de solicitud de extracción, especifique las ramificaciones de destino en las que se va a abrir la solicitud de extracción.
-
(Opcional) En Rutas de archivo, especifique las rutas de archivo para su desencadenador. Introduzca los nombres en Incluir y Excluir según corresponda.
Puede usar patrones glob para definir los nombres de las rutas de archivo. Por ejemplo, use
prod*
para hacer coincidir todas las rutas de archivo que comiencen porprod
. Para obtener más información, consulta Trabajar con patrones glob en la sintaxis. -
Selecciona la solicitud de extracción para configurar la configuración de los activadores de canalización y comenzar con los eventos de solicitud de extracción que especifiques.
-
Agregue filtros para los tipos de eventos de solicitud de inserción y extracción (CLI)
Puede actualizar el archivo JSON de la canalización para agregar filtros a los desencadenadores.
Para usar el AWS CLI para crear o actualizar tu canalización, usa el update-pipeline
comando create-pipeline
o.
El siguiente ejemplo de estructura JSON proporciona una referencia para las definiciones de campo mediante create-pipeline
.
Para obtener una lista de las definiciones de campo, consulta los activadores en la referencia sobre la estructura de canalización de esta guía.
{ "pipeline": { "name": "MyServicePipeline", "triggers": [ { "provider": "Connection", "gitConfiguration": { "sourceActionName": "ApplicationSource", "push": [ { "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] }, "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ], "pullRequest": [ { "events": [ "CLOSED" ], "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] } } ] } } ], "stages": [ { "name": "Source", "actions": [ { "name": "ApplicationSource", "configuration": { "BranchName": "mainline", "ConnectionArn": "arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f8EXAMPLE", "FullRepositoryId": "monorepo-example", "OutputArtifactFormat": "CODE_ZIP" } } ] } ] } }
Añada filtros para los tipos de eventos de solicitudes push y pull (AWS CloudFormation plantillas)
Puedes actualizar el recurso de canalización AWS CloudFormation para añadir el filtrado de activadores.
A continuación se muestra un ejemplo de un fragmento de plantilla que proporciona una referencia de YAML para las definiciones de los campos de desencadenadores. Para obtener una lista de las definiciones de campo, consulta los activadores en la referencia sobre la estructura de canalización de esta guía.
Para ver un ejemplo de plantilla completo de una configuración de fuente de conexión y filtro de activación, consulte Configuración de canalización con dos etapas y activación en la Guía del AWS CloudFormation usuario.
pipeline: name: MyServicePipeline executionMode: PARALLEL triggers: - provider: CodeConnection gitConfiguration: sourceActionName: ApplicationSource push: - filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' branches: includes: - feature/** - release/** excludes: - mainline - tags: includes: - release-v0 - release-v1 excludes: - release-v2 pullRequest: - events: - CLOSED branches: includes: - feature/** - release/** excludes: - mainline filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' stages: - name: Source actions: - name: ApplicationSource configuration: BranchName: mainline ConnectionArn: arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f85EXAMPLE FullRepositoryId: monorepo-example OutputArtifactFormat: CODE_ZIP