Este producto no es compatible con el sitio Datadog seleccionado. ().

Descripción general

AWS CodePipeline es un servicio de entrega continua totalmente administrado que le ayuda a automatizar sus pipelines de lanzamiento para obtener actualizaciones rápidas y confiables de aplicaciones e infraestructura.

Configure CI Visibility para AWS CodePipeline para recopilar datos sobre las ejecuciones de pipelines, analizar cuellos de botella de rendimiento o problemas operativos, y hacer un seguimiento de sus flujos de trabajo de implementación.

Compatibilidad

Pipeline VisibilityPlataformaDefinición
Reintentos parcialesPipelines parcialesVisualizar las ejecuciones de pipelines reintentadas parcialmente.
*Pipelines en ejecuciónPipelines en ejecuciónVisualizar las ejecuciones de pipelines que se están ejecutando. Los pipelines en cola o en espera se muestran con el estado “Running” en Datadog.
**Correlación de registrosCorrelación de registrosCorrelacione los rangos de pipelines y trabajos con los registros. Requiere almacenamiento de logs.
Tiempo de espera de aprobaciónTiempo de espera de aprobaciónVisualizar la cantidad de tiempo que los trabajos y los pipelines esperan para aprobaciones manuales.
Rangos personalizadosRangos personalizadosConfigure rangos personalizados para sus pipelines.
Filtrar trabajos de CI en la ruta críticaFiltrar trabajos de CI en la ruta críticaFiltre por trabajos en la ruta crítica.
Tiempo de ejecuciónTiempo de ejecuciónVisualizar la cantidad de tiempo que los pipelines han estado ejecutando trabajos.

*Los pipelines en ejecución de AWS CodePipeline no tienen información de Git hasta que finalizan.
**La correlación de registros de AWS CodePipeline solo está disponible para acciones de AWS CodeBuild.

Terminología

Esta tabla muestra el mapeo de conceptos entre Datadog CI Visibility y AWS CodePipeline:

DatadogAWS CodePipeline
PipelinePipeline
EtapaEtapa
TrabajoAcción

Configurar la integración de Datadog

Para configurar la integración entre AWS CodePipeline y Pipeline Visibility, cree dos recursos de AWS.

Destino de API
Un punto de conexión HTTP que apunta a la ingesta de Datadog.
Regla de AWS EventBridge
Una regla que reenvía los eventos de CodePipeline al destino de API.

Puede crear estos recursos por separado, o al mismo tiempo, durante el proceso de creación de la regla de EventBridge. Para obtener más información sobre la supervisión de eventos de canalización, consulte la guía oficial de AWS.

Cree el destino de API

  1. En la consola de AWS, navegue a EventBridge > API destinations y haga clic en Create API destination.
  2. Elija un nombre para el destino de API (por ejemplo, datadog-ci-visibility-api) y, opcionalmente, añada una descripción.
  3. En API destination endpoint, introduzca https://webhook-intake./api/v2/webhook.
  4. En HTTP method, seleccione POST.
  5. En Tipo de conexión, seleccione Create a new connection:
    1. Elija un nombre para la conexión (por ejemplo, datadog-ci-visibility-connection) y, opcionalmente, añada una descripción.
    2. En Destination type, seleccione Other.
    3. En Authorization type, seleccione API key. Introduzca DD-API-KEY como API key name y añada su clave de Datadog API en el campo Value.
  6. Haga clic en Create.

Cree la regla de EventBridge

  1. En la consola de AWS, navegue a EventBridge > Rules y haga clic en Create Rule.

  2. Elija un nombre para la regla (por ejemplo, datadog-ci-visibility-integration) y, opcionalmente, agregue una descripción.

  3. Deje el bus de eventos como default y, en Rule Type, seleccione Rule with an event pattern. Haga clic en Next.

  4. En Event Source, seleccione AWS events or EventBridge partner events.

  5. En Creation Method, seleccione Custom pattern (JSON editor). Luego, en Event Pattern, ingrese lo siguiente:

    {
      "source": ["aws.codepipeline"],
      "detail-type": ["CodePipeline Pipeline Execution State Change", "CodePipeline Action Execution State Change", "CodePipeline Stage Execution State Change"]
    }
    

    El JSON anterior configura la integración para todos sus pipelines. Para restringir el conjunto de pipelines, siga la sección Only monitor specific pipelines a continuación.

  6. Haga clic en Next.

  7. En Target Types, seleccione EventBridge API destination. Luego, elija Use an existing API Destination y seleccione el destino de API que creó en el paso anterior. Alternativamente, también puede crear el destino de API siguiendo los pasos descritos en la sección Create the API Destination.

  8. En Headers Parameters, haga clic en Add header parameter. Ingrese DD-CI-PROVIDER-AWSCODEPIPELINE como clave y true como valor.

  9. Elija Create a new role for this specific resource (o utilice una existente).

  10. Revise que la información sea correcta y cree la regla.

Una vez que haya creado la regla, puede hacer un seguimiento de sus pipelines en Datadog.

Configuración avanzada

Hacer un seguimiento solo de pipelines específicas

Opcionalmente, puede restringir los pipelines que son monitoreados por Pipeline Visibility. Para hacer esto, agregue el filtro detail.pipeline en el patrón de evento de la regla definido al crear la regla de EventBridge. Por ejemplo:

 {
   "source": ["aws.codepipeline"],
   "detail-type": ["CodePipeline Pipeline Execution State Change", "CodePipeline Action Execution State Change", "CodePipeline Stage Execution State Change"],
   "detail": {
     "pipeline": ["first-pipeline", "second-pipeline"]
   }
 }

El patrón de evento configura la integración solo para los pipelines first-pipeline y second-pipeline.

Correlacionar pipelines con pruebas

Si utiliza Test Optimization y su pipeline contiene una o más acciones de AWS CodeBuild para ejecutar pruebas, puede correlacionar sus pruebas con el pipeline relacionado dentro de Datadog Pipeline Visibility. Para obtener instrucciones, consulte Agregar el ID de ejecución de pipeline.

Almacenamiento de logs

La integración de AWS CodePipeline permite correlacionar las acciones de CodeBuild con sus respectivos trabajos y pipelines. Para habilitar el almacenamiento de logs para sus acciones de CodeBuild, consulte la guía de reenvío de logs de AWS.

Si utiliza nombres personalizados de grupos de registro o flujos de registro de CloudWatch para sus acciones de CodeBuild, habilite Recopilación de recursos en la nube en la integración de AWS para que Datadog pueda resolver la configuración personalizada del grupo y flujo de registro.

El Almacenamiento de registros se factura por separado de CI Visibility. La retención, exclusión e índices de registros se configuran en Log Management. Los registros de AWS CodeBuild se pueden identificar mediante las etiquetas source:codebuild y sourcecategory:aws.

Agregar el ID de ejecución de pipeline como variable de entorno

El ID de ejecución de pipeline es un identificador que Datadog necesita para identificar de forma única una ejecución de pipeline. Realice los siguientes pasos para asignar un ID de ejecución de pipeline para correlacionar pipelines con pruebas y comandos personalizados:

  1. En la consola de AWS, vaya a la configuración de su pipeline y haga clic en Edit
  2. Vaya a la etapa que contiene la acción de AWS CodeBuild, haga clic en Edit Stage y, a continuación, edite la acción correspondiente.
  3. En Environment variables, agregue una variable de entorno. Asigne a la variable el nombre DD_PIPELINE_EXECUTION_ID y el valor #{codepipeline.PipelineExecutionId}. Deje el tipo como Texto sin formato.
  4. Haga clic en Done para guardar los cambios.

Los pasos anteriores le permiten agregar el ID de ejecución de pipeline a las variables de entorno de su acción de CodeBuild. Para obtener más información sobre cómo trabajar con variables, consulte la guía oficial de AWS.

Visualice datos de Pipelines en Datadog

Vea sus datos en las páginas Lista y Ejecuciones una vez que los pipelines finalicen.

La página CI Pipeline List muestra datos solo para la rama predeterminada de cada repositorio. Para obtener más información, consulte Buscar y administrar CI Pipelines.

Lecturas adicionales