Crear un grupo de informes - AWS CodeBuild

Crear un grupo de informes

Puede usar la consola de CodeBuild, la AWS CLI o un archivo de especificación de compilación para crear un grupo de informes. Su rol de IAM debe tener los permisos necesarios para crear un grupo de informes. Para obtener más información, consulte Permisos de informes de prueba.

Crear un grupo de informes (buildspec)

Un grupo de informes creado con buildspec no exporta archivos de resultados de prueba sin procesar. Puede ver el grupo de informes y especificar las opciones de exportación. Para obtener más información, consulte Actualizar un grupo de informes.

Para crear un grupo de informes mediante un archivo buildspec
  1. Elija un nombre de grupo de informes que no esté asociado a un grupo de informes de su cuenta de AWS.

  2. Configure la sección reports del archivo buildspec con este nombre. En este ejemplo, el nombre del grupo de informes es new-report-group y los casos de prueba de uso se crean con el marco JUnit:

    reports: new-report-group: #surefire junit reports files: - '**/*' base-directory: 'surefire/target/surefire-reports'

    El nombre del grupo de informes también se puede especificar mediante variables de entorno en la especificación de compilación:

    version: 0.2 env: variables: REPORT_GROUP_NAME: "new-report-group" phases: build: commands: - ... ... reports: $REPORT_GROUP_NAME: files: - '**/*' base-directory: 'surefire/target/surefire-reports'

    Para obtener más información, consulte Especificar archivos de prueba y Reports syntax in the buildspec file.

  3. En la sección commands, especifique el comando para ejecutar las pruebas. Para obtener más información, consulte Especificar comandos de prueba .

  4. Ejecute la compilación. Cuando se completa la compilación, se crea un nuevo grupo de informes con un nombre que utiliza el formato project-name-report-group-name. Para obtener más información, consulte Nomenclatura de grupos de informes.

Crear un grupo de informes (consola)

Utilice el siguiente procedimiento para crear un grupo de informes con la AWS Management Console.

Para crear un grupo de informes
  1. Abra la consola de AWS CodeBuild en https://console.aws.amazon.com/codesuite/codebuild/home.

  2. En el panel de navegación, elija Report groups (Grupos de informes).

  3. Elija Create report group (Crear grupo de informes).

  4. En Report group name (Nombre del grupo de informes), escriba un nombre para el grupo de informes.

  5. (Opcional) En Tags (Etiquetas), escriba el nombre y el valor de las etiquetas que desea que usen los servicios compatibles de AWS. Utilice Agregar fila para añadir una etiqueta. Puede añadir hasta 50 etiquetas.

  6. Si desea cargar los datos sin procesar de los resultados del informe de pruebas a un bucket de Amazon S3:

    1. Seleccione Exportar a Amazon S3.

    2. En S3 bucket name (Nombre de bucket de S3), escriba el nombre del bucket de S3.

    3. (Opcional) Para el propietario del bucket de S3, introduzca el identificador de cuenta de AWS correspondiente a la cuenta propietaria del bucket de S3. Esto permite exportar los datos de los informes a un bucket de Amazon S3 que es propiedad de una cuenta distinta de la cuenta que ejecuta la compilación.

    4. En Path prefix (Prefijo de ruta), introduzca la ruta en el bucket de S3 donde desea cargar los resultados de prueba.

    5. Seleccione Compress test result data in a zip file (Comprimir los datos de los resultados de prueba en un archivo zip) para comprimir los archivos de datos de resultados de prueba sin procesar.

    6. Expanda Additional configuration (Configuración adicional) para mostrar las opciones de cifrado. Seleccione una de las siguientes opciones:

      • Clave de AWS administrada predeterminada para usar una Clave administrada de AWS para Amazon S3. Para obtener más información, consulte CMK administradas por el cliente en la Guía del usuario de AWS Key Management Service. Esta es la opción de cifrado predeterminada.

      • Seleccione una clave personalizada para usar una clave administrada por el cliente creada y configurada por usted. Como clave de cifrado de AWS KMS, introduzca el ARN de la clave de cifrado. Su formato es el siguiente: arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> . Para obtener más información, consulte Creación de claves de KMS en la Guía del usuario de AWS Key Management Service.

      • Disable artifact encryption (Desactivar el cifrado de artefactos) para desactivar el cifrado. Puede elegir esta opción si desea compartir los resultados de sus pruebas o publicarlos en un sitio web estático. (Un sitio web dinámico puede ejecutar código para descifrar los resultados de prueba).

      Para obtener más información sobre el cifrado de datos en reposo, consulte Cifrado de datos.

    nota

    El rol de servicio de CodeBuild especificado en el proyecto se utiliza para los permisos para cargar en el bucket de S3.

  7. Elija Create report group (Crear grupo de informes).

Crear un grupo de informes (CLI)

Utilice el siguiente procedimiento para crear un grupo de informes con la AWS CLI.

Para crear un grupo de informes
  1. Cree un archivo denominado CreateReportGroup.json.

  2. Según sus requisitos, copie uno de los siguientes fragmentos de código JSON en CreateReportGroup.json:

    • Utilice el código JSON siguiente para especificar que su grupo de informes de pruebas exporta archivos de resultados de prueba sin procesar a un bucket de Amazon S3.

      { "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<bucket-name>", "bucketOwner": "<bucket-owner>", "path": "<path>", "packaging": "NONE | ZIP", "encryptionDisabled": "false", "encryptionKey": "<your-key>" }, "tags": [ { "key": "tag-key", "value": "tag-value" } ] } }
      • Reemplace <bucket-name> por el nombre del bucket de Amazon S3 y <path> por la ruta de acceso del bucket al lugar donde desea exportar los archivos.

      • Si desea comprimir los archivos exportados, para packaging, especifique ZIP. De lo contrario, especifique NONE.

      • bucketOwner es opcional y solo es obligatorio si el bucket de Amazon S3 es propiedad de una cuenta distinta de la cuenta que ejecuta la compilación.

      • Se utiliza encryptionDisabled para especificar si se deben cifrar los archivos exportados. Si cifra los archivos exportados, introduzca la clave administrada por el cliente. Para obtener más información, consulte Actualizar un grupo de informes.

    • Utilice el siguiente código JSON para especificar que el informe de pruebas no exporta archivos de prueba sin procesar:

      { "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "NO_EXPORT" } }
    nota

    El rol de servicio de CodeBuild especificado en el proyecto se utiliza para los permisos para cargar en el bucket de S3.

  3. Ejecute el siguiente comando:

    aws codebuild create-report-group --cli-input-json file://CreateReportGroupInput.json

Crear un grupo de informes (AWS CloudFormation)

Siga las instrucciones a continuación para crear un grupo de informes con la plantilla de AWS CloudFormation.

Para crear un grupo de informes con la plantilla de AWS CloudFormation

Puede utilizar un archivo de plantilla de AWS CloudFormation para crear y aprovisionar un grupo de informes. Si quiere obtener más información, consulte la Guía del usuario de AWS CloudFormation.

La siguiente plantilla YAML de AWS CloudFormation crea un grupo de informes que no exporta archivos de resultados de prueba sin procesar.

Resources: CodeBuildReportGroup: Type: AWS::CodeBuild::ReportGroup Properties: Name: my-report-group-name Type: TEST ExportConfig: ExportConfigType: NO_EXPORT

La siguiente plantilla YAML de AWS CloudFormation crea un grupo de informes que exporta archivos de resultados de prueba sin procesar a un bucket de Amazon S3.

Resources: CodeBuildReportGroup: Type: AWS::CodeBuild::ReportGroup Properties: Name: my-report-group-name Type: TEST ExportConfig: ExportConfigType: S3 S3Destination: Bucket: amzn-s3-demo-bucket Path: path-to-folder-for-exported-files Packaging: ZIP EncryptionKey: my-KMS-encryption-key EncryptionDisabled: false
nota

El rol de servicio de CodeBuild especificado en el proyecto se utiliza para los permisos para cargar en el bucket de S3.