Acciones de compilación y prueba de YAML - Amazon CodeCatalyst

Acciones de compilación y prueba de YAML

A continuación, se incluye la definición de YAML de las acciones de compilación y prueba. Hay una sola referencia para las dos acciones porque sus propiedades de YAML son muy similares.

Esta definición de acción existe como una sección dentro de un archivo de definición de flujo de trabajo más amplio. Para obtener más información acerca de este archivo, consulte Definición de flujo de trabajo en YAML.

Elija una propiedad de YAML en el código siguiente para ver su descripción.

nota

La mayoría de las propiedades de YAML que se muestran a continuación tienen elementos de interfaz de usuario correspondientes en el editor visual. Para buscar un elemento de la interfaz de usuario, use Ctrl+F. El elemento aparecerá en la lista con su propiedad de YAML asociada.

# The workflow definition starts here. # See Propiedades de nivel superior for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. action-name: Identifier: aws/build@v1 | aws/managed-test@v1 DependsOn: - dependent-action-name-1 Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Caching: FileCaching: key-name-1: Path: file1.txt RestoreKeys: - restore-key-1 Inputs: Sources: - source-name-1 - source-name-2 Artifacts: - artifact-name Variables: - Name: variable-name-1 Value: variable-value-1 - Name: variable-name-2 Value: variable-value-2 Outputs: Artifacts: - Name: output-artifact-1 Files: - build-output/artifact-1.jar - "build-output/build*" - Name: output-artifact-2 Files: - build-output/artifact-2.1.jar - build-output/artifact-2.2.jar Variables: - variable-name-1 - variable-name-2 AutoDiscoverReports: Enabled: true | false ReportNamePrefix: AutoDiscovered IncludePaths: - "**/*" ExcludePaths: - node_modules/cdk/junit.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Reports: report-name-1: Format: format IncludePaths: - "*.xml" ExcludePaths: - report2.xml - report3.xml SuccessCriteria: PassRate: percent LineCoverage: percent BranchCoverage: percent Vulnerabilities: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisBug: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisSecurity: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisQuality: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number StaticAnalysisFinding: Severity: CRITICAL | HIGH | MEDIUM | LOW | INFORMATIONAL Number: whole-number Configuration: Container: Registry: registry Image: image Steps: - Run: "step 1" - Run: "step 2" Packages: NpmConfiguration: PackageRegistries: - PackagesRepository: package-repository Scopes: - "@scope" ExportAuthorizationToken: true | false

action-name

(Obligatorio)

Especifique el nombre de la acción. Todos los nombres de las acciones deben ser únicos dentro del flujo de trabajo. Los nombres de las acciones están limitados a caracteres alfanuméricos (a-z, A-Z y 0-9), guiones (-) y guiones bajos (_). No se permiten espacios. No puede utilizar comillas para permitir caracteres especiales ni espacios en los nombres de las acciones.

Interfaz de usuario correspondiente: pestaña Configuración/Nombre de la acción

Identifier

(action-name/Identifier)

Identifica la acción. No cambie esta propiedad a menos que desee cambiar la versión. Para obtener más información, consulte Especificación de la versión de la acción que se va a utilizar.

Use aws/build@v1 para las acciones de compilación.

Use aws/managed-test@v1 para las acciones de prueba.

Interfaz de usuario correspondiente: Diagrama de flujo de trabajo/Action-name/Etiqueta aws/build@v1|aws/managed-test@v1

DependsOn

(action-name/DependsOn)

(Opcional)

Especifique la acción, el grupo de acciones o la puerta que debe ejecutarse correctamente para que esta acción se ejecute.

Para obtener más información sobre la funcionalidad “depende de”, consulte Secuenciación de acciones.

Interfaz de usuario correspondiente: pestaña Entradas/Depende de (opcional)

Compute

(action-name/Compute)

(Opcional)

El motor de computación utilizado para ejecutar las acciones del flujo de trabajo. Puede especificar el motor de computación en el nivel del flujo de trabajo o en el nivel de acción, pero no en ambos. Cuando se especifica en el nivel de flujo de trabajo, la configuración del motor de computación se aplica a todas las acciones definidas en el flujo de trabajo. En el nivel de flujo de trabajo, también puede ejecutar varias acciones en la misma instancia. Para obtener más información, consulte Uso compartido de recursos de computación entre acciones.

Interfaz de usuario correspondiente: ninguna

Type

(action-name/Compute/Type)

(Obligatorio si se incluye Compute)

El tipo de motor de computación. Puede utilizar uno de los siguientes valores.

  • EC2 (editor visual) o EC2 (editor de YAML)

    Optimizado para ofrecer flexibilidad durante las ejecuciones de acciones.

  • Lambda (editor visual) o Lambda (editor de YAML)

    Velocidades de inicio de acciones optimizadas.

Para obtener más información sobre los tipos de computación, consulte Tipos de computación.

Interfaz de usuario correspondiente: pestaña Configuración/Tipo de computación

Fleet

(action-name/Compute/Fleet)

(Opcional)

Especifique la máquina o la flota que ejecutará el flujo de trabajo o las acciones del flujo de trabajo. Con las flotas bajo demanda, cuando se inicia una acción, el flujo de trabajo aprovisiona los recursos que necesita y las máquinas se destruyen cuando finaliza la acción. Ejemplos de flotas bajo demanda: Linux.x86-64.Large, Linux.x86-64.XLarge. Para obtener más información sobre las flotas bajo demanda, consulte Propiedades de las flotas bajo demanda.

Con las flotas aprovisionadas, configura un conjunto de máquinas dedicadas para ejecutar las acciones del flujo de trabajo. Estas máquinas permanecen inactivas, listas para procesar acciones de forma inmediata. Para obtener más información sobre las flotas aprovisionadas, consulte Propiedades de flotas aprovisionadas.

Si Fleet se omite, el valor predeterminado es Linux.x86-64.Large.

Interfaz de usuario correspondiente: pestaña Configuración/Flota de computación

Timeout

(action-name/Timeout)

(Opcional)

Especifique la cantidad de tiempo en minutos (editor de YAML) o en horas y minutos (editor visual) que la acción puede ejecutarse antes de que CodeCatalyst la finalice. El mínimo es 5 minutos y el máximo se describe en Cuotas para flujos de trabajo en CodeCatalyst. El tiempo de espera predeterminado es el mismo que el tiempo de espera máximo.

Interfaz de usuario correspondiente: pestaña Configuración/Tiempo de espera (opcional)

Environment

(action-name/Environment)

(Opcional)

Especifique el entorno de CodeCatalyst que se utilizará con la acción. La acción se conecta a la Cuenta de AWS y a la VPC de Amazon especificada en el entorno elegido. La acción utiliza el rol de IAM predeterminado especificado en el entorno para conectarse a la Cuenta de AWS, y utiliza el rol de IAM especificado en la conexión a la VPC de Amazon para conectarse a la VPC de Amazon.

nota

Si el rol de IAM predeterminado no tiene los permisos necesarios para la acción, puede configurarla para que utilice un rol diferente. Para obtener más información, consulte Cambio del rol de IAM de una acción.

Para obtener más información sobre los entornos, consulte Implementación en Cuentas de AWS y VPC y Creación de un entorno.

Interfaz de usuario correspondiente: pestaña Configuración/Entorno

Name

(action-name/Environment/Name)

(Opcional)

Especifique el nombre del entorno existente que desea asociar a la acción.

Interfaz de usuario correspondiente: pestaña Configuración/Entorno

Connections

(action-name/Environment/Connections)

(Opcional)

Especifique la conexión de cuenta que desee asociar a la acción. Puede especificar un máximo de una conexión de cuenta en Environment.

Si no especifica una conexión de cuenta:

  • La acción utiliza la conexión de la Cuenta de AWS y el rol de IAM predeterminado especificado en el entorno de la consola de CodeCatalyst. Para obtener información sobre cómo añadir una conexión de cuenta y un rol de IAM predeterminado al entorno, consulte. Creación de un entorno

  • El rol de IAM predeterminado debe incluir las políticas y los permisos que requiere la acción. Para determinar cuáles son esas políticas y permisos, consulte la descripción de la propiedad Role en la documentación de la definición de YAML de la acción.

Para obtener más información sobre las conexiones de cuenta, consulte Permisos de acceso a recursos de AWS con Cuentas de AWS conectadas. Para obtener más información sobre cómo añadir una conexión de cuenta a un entorno, consulte Creación de un entorno.

Interfaz de usuario correspondiente: pestaña Configuración/Entorno/¿Qué hay en mi-entorno?/Menú de tres puntos/Cambiar rol

Name

(action-name/Environment/Connections/Name)

(Obligatorio si se incluye Connections)

Especifique el nombre de la conexión de cuenta.

Interfaz de usuario correspondiente: pestaña Configuración/Entorno/¿Qué hay en mi-entorno?/Menú de tres puntos/Cambiar rol

Role

(action-name/Environment/Connections/Role)

(Obligatorio si se incluye Connections)

Especifique el nombre del rol de IAM que usa esta acción para acceder a servicios de AWS como Amazon S3 y Amazon ECR y utilizar estos servicios. Asegúrese de añadir este rol a la conexión de Cuenta de AWS de su espacio. Para añadir un rol de IAM a una conexión de cuenta, consulte Adición de roles de IAM a las conexiones de cuentas.

Si no especifica un rol de IAM, la acción utilizará el rol de IAM predeterminado que aparece en el entorno en la consola de CodeCatalyst. Si usa el rol predeterminado en el entorno, asegúrese de que tenga las siguientes políticas.

nota

Puede usar el rol CodeCatalystWorkflowDevelopmentRole-spaceName con esta acción. Para obtener más información acerca de este rol, consulte Creación del rol CodeCatalystWorkflowDevelopmentRole-spaceName para su cuenta y su espacio. Tenga en cuenta que el rol CodeCatalystWorkflowDevelopmentRole-spaceName tiene permisos de acceso total, lo que puede suponer un riesgo para la seguridad. Le recomendamos que utilice este rol solo en tutoriales y situaciones en las que la seguridad no sea un problema.

aviso

Limite los permisos a los necesarios para las acciones de compilación y prueba. El uso de un rol con permisos más amplios puede suponer un riesgo de seguridad.

Interfaz de usuario correspondiente: pestaña Configuración/Entorno/¿Qué hay en mi-entorno?/Menú de tres puntos/Cambiar rol

Caching

(action-name/Caching)

(Opcional)

Una sección en la que puede especificar una memoria caché para guardar los archivos en el disco y restaurarlos desde esa memoria caché en las siguientes ejecuciones del flujo de trabajo.

Para obtener más información acerca del almacenamiento en caché, consulte Almacenamiento en caché de archivos entre ejecuciones de flujos de trabajo.

Interfaz de usuario correspondiente: pestaña Configuración/Almacenamiento en caché de archivos (opcional)

FileCaching

(action-name/Caching/FileCaching)

(Opcional)

Una sección que especifica la configuración de una secuencia de cachés.

Interfaz de usuario correspondiente: pestaña Configuración/Almacenamiento en caché de archivos (opcional)Agregar caché

key-name-1

(action-name/Caching/FileCaching/key-name-1)

(Opcional)

Especifique el nombre de la propiedad de su caché principal. Los nombres de propiedades de caché deben ser únicos en el flujo de trabajo. Puede haber hasta cinco entradas de cada acción en FileCaching.

Interfaz de usuario correspondiente: pestaña Configuración/Almacenamiento en caché de archivos (opcional)/Agregar caché/Clave

Path

(action-name/Caching/FileCaching/key-name-1/Path)

(Opcional)

Especifique la ruta asociada a la memoria caché.

Interfaz de usuario correspondiente: pestaña Configuración/Almacenamiento en caché de archivos (opcional)Agregar caché/Ruta

RestoreKeys

(action-name/Caching/FileCaching/key-name-1/RestoreKeys)

(Opcional)

Especifique la clave de restauración para utilizarla como alternativa cuando no se pueda encontrar la propiedad de caché principal. Los nombres de clave de restauración deben ser únicos en el flujo de trabajo. Puede haber hasta cinco entradas de cada acción en RestoreKeys.

Interfaz de usuario correspondiente: pestaña Configuración/Almacenamiento en caché de archivos (opcional)/Agregar caché/Claves de restauración (opcional)

Inputs

(action-name/Inputs)

(Opcional)

La sección Inputs define los datos que necesita una acción durante la ejecución de un flujo de trabajo.

nota

Se permite un máximo de cuatro entradas (un origen y tres artefactos) en cada acción de compilación o prueba. Las variables no se contabilizan en este total.

Si necesita hacer referencia a archivos que se encuentran en entradas diferentes (por ejemplo, un código fuente y un artefacto), la entrada de código fuente es la entrada principal y el artefacto es la entrada secundaria. Las referencias a los archivos en las entradas secundarias llevan un prefijo especial para distinguirlas de las principales. Para obtener más información, consulte Ejemplo: Referencia a archivos en varios artefactos.

Interfaz de usuario correspondiente: pestaña Entradas

Sources

(action-name/Inputs/Sources)

(Opcional)

Especifique las etiquetas que representan los repositorios de código fuente que necesitará la acción. Actualmente, la única etiqueta admitida es WorkflowSource, que representa el repositorio de código fuente en el que se almacena el archivo de definición de flujo de trabajo.

Si omite un origen, debe especificar al menos un artefacto de entrada en action-name/Inputs/Artifacts.

Para obtener más información sobre orígenes, consulte Conexión de repositorios de código fuente a flujos de trabajo.

Interfaz de usuario correspondiente: ninguna

Artifacts - input

(action-name/Inputs/Artifacts)

(Opcional)

Especifique los artefactos de acciones anteriores que desee proporcionar como entrada a esta acción. Estos artefactos ya deben estar definidos como artefactos de salida en acciones anteriores.

Si no especifica ningún artefacto de entrada, debe especificar al menos un repositorio de código fuente en action-name/Inputs/Sources.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte Cómo compartir artefactos y archivos entre acciones.

nota

Si la lista desplegable Artefactos: opcional no está disponible (editor visual) o si se producen errores al validar el código de YAML (editor de YAML), es posible que la acción solo admita una entrada. En este caso, intente eliminar la entrada de código fuente.

Interfaz de usuario correspondiente: pestaña Entradas/Artefactos (opcional)

Variables - input

(action-name/Inputs/Variables)

(Opcional)

Especifique una secuencia de pares de nombre/valor que definan las variables de entrada que desee que estén disponibles para la acción. Los nombres de variables están limitados a caracteres alfanuméricos (a-z, A-Z y 0-9), guiones (-) y guiones bajos (_). No se permiten espacios. No puede utilizar comillas para permitir caracteres especiales ni espacios en los nombres de variables.

Para obtener más información sobre las variables, incluidos ejemplos, consulte Uso de variables en flujos de trabajo.

Interfaz de usuario correspondiente: pestaña Entradas/Variables (opcional)

Outputs

(action-name/Outputs)

(Opcional)

Define los datos que necesita una acción durante la ejecución de un flujo de trabajo.

Interfaz de usuario correspondiente: pestaña Salidas

Artifacts - output

(action-name/Outputs/Artifacts)

(Opcional)

Especifique el nombre de un artefacto generado por la acción. Los nombres de los artefactos deben ser únicos en un flujo de trabajo y están limitados a caracteres alfanuméricos (a-z, A-Z, 0-9) y guiones bajos (_). No se admiten espacios, guiones (-) ni otros caracteres especiales. No puede utilizar comillas para permitir espacios, guiones y otros caracteres especiales en los nombres de los artefactos de salida.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte Cómo compartir artefactos y archivos entre acciones.

Interfaz de usuario correspondiente: pestaña Salidas/Artefactos

Name

(action-name/Outputs/Artifacts/Name)

(Obligatorio si se incluye Artifacts - output)

Especifique el nombre de un artefacto generado por la acción. Los nombres de los artefactos deben ser únicos en un flujo de trabajo y están limitados a caracteres alfanuméricos (a-z, A-Z, 0-9) y guiones bajos (_). No se admiten espacios, guiones (-) ni otros caracteres especiales. No puede utilizar comillas para permitir espacios, guiones y otros caracteres especiales en los nombres de los artefactos de salida.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte Cómo compartir artefactos y archivos entre acciones.

Interfaz de usuario correspondiente: pestaña Salidas/Artefactos/Nueva salida/Crear nombre de artefacto

Files

(action-name/Outputs/Artifacts/Files)

(Obligatorio si se incluye Artifacts - output)

Especifique los archivos que CodeCatalyst incluye en el artefacto que genera la acción. Estos archivos los genera la acción del flujo de trabajo cuando se ejecuta y también están disponibles en el repositorio de código fuente. Las rutas de los archivos pueden residir en un repositorio de código fuente o en un artefacto de una acción anterior y son relativas a la raíz del repositorio de código fuente o del artefacto. Puede utilizar patrones glob para especificar las rutas. Ejemplos:

  • Para especificar un único archivo que esté en la raíz de la ubicación de compilación o de la ubicación del repositorio de código fuente, utilice my-file.jar.

  • Para especificar un único archivo en un subdirectorio, use directory/my-file.jar o directory/subdirectory/my-file.jar.

  • Para especificar todos los archivos, utilice "**/*". El patrón glob de ** indica que debe coincidir con cualquier número de subdirectorios.

  • Para especificar todos los archivos y directorios de un directorio denominado directory, utilice "directory/**/*". El patrón glob de ** indica que debe coincidir con cualquier número de subdirectorios.

  • Para especificar todos los archivos de un directorio denominado directory, pero no ninguno de sus subdirectorios, utilice "directory/*".

nota

Si la ruta del archivo incluye uno o más asteriscos (*) u otro carácter especial, escriba la ruta entre comillas dobles (""). Para obtener más información sobre los caracteres especiales, consulte Pautas y convenciones de sintaxis.

Para obtener más información sobre los artefactos, incluidos ejemplos, consulte Cómo compartir artefactos y archivos entre acciones.

nota

Puede que tenga que añadir un prefijo a la ruta del archivo para indicar en qué artefacto u origen debe encontrarlo. Para obtener más información, consulte Referencia a los archivos del repositorio de código fuente y Referencia a archivos en un artefacto.

Interfaz de usuario correspondiente: pestaña Salidas/Artefactos/Nueva salida/Archivos producidos por compilación

Variables - output

(action-name/Outputs/Variables)

(Opcional)

Especifique las variables que desea que exporte la acción para que estén disponibles para su uso en acciones posteriores.

Para obtener más información sobre las variables, incluidos ejemplos, consulte Uso de variables en flujos de trabajo.

Interfaz de usuario correspondiente: pestaña Salidas/Variables/Agregar variable

variable-name-1

(action-name/Outputs/Variables/variable-name-1)

(Opcional)

Especifique el nombre de la variable que desee que exporte la acción. Esta variable ya debe estar definida en la sección Inputs o Steps de la misma acción.

Para obtener más información sobre las variables, incluidos ejemplos, consulte Uso de variables en flujos de trabajo.

Interfaz de usuario correspondiente: pestaña Salidas/Variables/Agregar variable/Nombre

AutoDiscoverReports

(action-name/Outputs/AutoDiscoverReports)

(Opcional)

Define la configuración de la característica de detección automática.

Al habilitar la detección automática, CodeCatalyst busca todos los archivos Inputs pasados a la acción, así como todos los archivos generados por la propia acción, en busca de informes de pruebas, cobertura de código y análisis de composición de software (SCA). CodeCatalyst transforma cada informe encontrado en un informe de CodeCatalyst. Un informe de CodeCatalyst es un informe que está completamente integrado en el servicio de CodeCatalyst y se puede ver y manipular a través de la consola de CodeCatalyst.

nota

De forma predeterminada, la característica de detección automática inspecciona todos los archivos. Puede limitar los archivos que se inspeccionan mediante las propiedades IncludePaths o ExcludePaths.

Interfaz de usuario correspondiente: pestaña Salidas/informes/Informes de detección automática

Enabled

(action-name/Outputs/AutoDiscoverReports/Enabled)

(Opcional)

Active o desactive la característica de detección automática.

Los valores válidos son true o false.

Si Enabled se omite, el valor predeterminado es true.

Interfaz de usuario correspondiente: pestaña Salidas/informes/Informes de detección automática

ReportNamePrefix

(action-name/Outputs/AutoDiscoverReports/ReportNamePrefix)

(Obligatorio si AutoDiscoverReports está incluido y activado)

Especifique el prefijo que CodeCatalyst debe colocar delante de todos los informes que encuentre para asignar un nombre a los informes de CodeCatalyst asociados. Por ejemplo, si especifica un prefijo de AutoDiscovered y CodeCatalyst descubre automáticamente dos informes de pruebas, TestSuiteOne.xml y TestSuiteTwo.xml, los informes de CodeCatalyst asociados se llamarán AutoDiscoveredTestSuiteOne y AutoDiscoveredTestSuiteTwo.

Interfaz de usuario correspondiente: pestaña Salidas/Informes/Nombre de prefijo

IncludePaths

(action-name/Outputs/AutoDiscoverReports/IncludePaths)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/IncludePaths)

(Obligatorio si AutoDiscoverReports está incluido y activado, o si se incluye Reports)

Especifique los archivos y las rutas de archivo que CodeCatalyst incluye al buscar informes sin procesar. Por ejemplo, si especifica "/test/report/*", CodeCatalyst busca la imagen de compilación completa utilizada por la acción en el directorio /test/report/*. Cuando encuentra ese directorio, CodeCatalyst busca los informes en ese directorio.

nota

Si la ruta del archivo incluye uno o más asteriscos (*) u otros caracteres especiales, escriba la ruta entre comillas dobles (""). Para obtener más información sobre los caracteres especiales, consulte Pautas y convenciones de sintaxis.

Si se omite esta propiedad, el valor predeterminado es "**/*", lo que significa que la búsqueda incluye todos los archivos de todas las rutas.

nota

En el caso de los informes configurados manualmente, IncludePaths debe ser un patrón glob que coincida con un único archivo.

Interfaz de usuario correspondiente:

  • Pestaña Salidas/Informes/Detección automática de informes/Incluir/excluir rutas/Incluir rutas

  • Pestaña Salidas/Informes/Configurar informes manualmente/report-name-1/Incluir/excluir rutas/Incluir rutas

ExcludePaths

(action-name/Outputs/AutoDiscoverReports/ExcludePaths)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/ExcludePaths)

(Opcional)

Especifique los archivos y las rutas de archivo que CodeCatalyst incluye al buscar informes sin procesar. Por ejemplo, si especifica "/test/my-reports/**/*", CodeCatalyst no buscará archivos en el directorio /test/my-reports/. Para ignorar todos los archivos de un directorio, utilice el patrón glob **/*.

nota

Si la ruta del archivo incluye uno o más asteriscos (*) u otros caracteres especiales, escriba la ruta entre comillas dobles (""). Para obtener más información sobre los caracteres especiales, consulte Pautas y convenciones de sintaxis.

Interfaz de usuario correspondiente:

  • Pestaña Salidas/Informes/Detección automática de informes/Incluir/excluir rutas/Excluir rutas

  • Pestaña Salidas/Informes/Configurar informes manualmente/report-name-1/Incluir/excluir rutas/Excluir rutas

SuccessCriteria

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria)

(Opcional)

Especifique los criterios de éxito de los informes de prueba, cobertura del código, análisis de composición de software (SCA) y análisis estático (SA).

Para obtener más información, consulte Configuración de los criterios de éxito de los informes.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito

PassRate

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/PassRate)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/PassRate)

(Opcional)

Especifique el porcentaje de pruebas en un informe de prueba que debe superarse para que el informe de CodeCatalyst asociado se marque como aprobado. Los valores válidos son números decimales. Por ejemplo: 50, 60.5. Los criterios del índice de aprobación se aplican únicamente a los informes de pruebas. Para obtener más información sobre los informes de pruebas, consulte Informes de pruebas.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito/Índice de aprobación

LineCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/LineCoverage)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/LineCoverage)

(Opcional)

Especifique el porcentaje de líneas en un informe de cobertura de código que deben cubrirse para que el informe de CodeCatalyst asociado se marque como aprobado. Los valores válidos son números decimales. Por ejemplo: 50, 60.5. Los criterios de cobertura de línea se aplican únicamente a los informes de cobertura de código. Para obtener más información sobre los informes de cobertura de código, consulte Informes de cobertura de código.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito/Cobertura de línea

BranchCoverage

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/BranchCoverage)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/BranchCoverage)

(Opcional)

Especifique el porcentaje de ramificaciones en un informe de cobertura de código que deben cubrirse para que el informe de CodeCatalyst asociado se marque como aprobado. Los valores válidos son números decimales. Por ejemplo: 50, 60.5. Los criterios de cobertura de ramificaciones se aplican únicamente a los informes de cobertura de código. Para obtener más información sobre los informes de cobertura de código, consulte Informes de cobertura de código.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito/Cobertura de ramificación

Vulnerabilities

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/Vulnerabilities)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/Vulnerabilities)

(Opcional)

Especifique el número máximo y la gravedad de las vulnerabilidades permitidas en el informe de SCA para que el informe de CodeCatalyst asociado se marque como aprobado. Para especificar las vulnerabilidades, debe especificar lo siguiente:

  • La gravedad mínima de las vulnerabilidades que desea incluir en el recuento. Los valores válidos, desde el más al menos grave, son CRITICAL, HIGH, MEDIUM, LOW y INFORMATIONAL.

    Por ejemplo, si elige HIGH, se contabilizan las vulnerabilidades HIGH y CRITICAL.

  • El número máximo de vulnerabilidades de la gravedad especificada que desea permitir. Si se supera este número, el informe de CodeCatalyst se marca como fallido. Los valores válidos son números enteros.

Los criterios de vulnerabilidad se aplican únicamente a los informes de SCA. Para obtener más información acerca de los informes de SCA, consulte Informes de análisis de composición de software.

Para especificar la gravedad mínima, utilice la propiedad Severity. Para especificar el número máximo de vulnerabilidades, utilice la propiedad Number.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito/Vulnerabilidades

StaticAnalysisBug

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisBug)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisBug)

(Opcional)

Especifique el número máximo y la gravedad de los errores permitidos en el informe de SA para que el informe de CodeCatalyst asociado se marque como aprobado. Para especificar errores, debe especificar lo siguiente:

  • La gravedad mínima de los errores que desea incluir en el recuento. Los valores válidos, desde el más al menos grave, son CRITICAL, HIGH, MEDIUM, LOW y INFORMATIONAL.

    Por ejemplo, si elige HIGH, se contabilizan los errores HIGH y CRITICAL.

  • El número máximo de errores de la gravedad especificada que desea permitir. Si se supera este número, el informe de CodeCatalyst se marca como fallido. Los valores válidos son números enteros.

Los criterios de error se aplican solo a los informes de SA de PyLint y ESLint. Para obtener más información acerca de los informes de SA, consulte Informes de análisis estático.

Para especificar la gravedad mínima, utilice la propiedad Severity. Para especificar el número máximo de vulnerabilidades, utilice la propiedad Number.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito/Errores

StaticAnalysisSecurity

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisSecurity)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisSecurity)

(Opcional)

Especifique el número máximo y la gravedad de las vulnerabilidades de seguridad permitidas en el informe de SA para que el informe de CodeCatalyst asociado se marque como aprobado. Para especificar las vulnerabilidades de seguridad, debe especificar lo siguiente:

  • La gravedad mínima de las vulnerabilidades de seguridad que desea incluir en el recuento. Los valores válidos, desde el más al menos grave, son CRITICAL, HIGH, MEDIUM, LOW y INFORMATIONAL.

    Por ejemplo, si elige HIGH, se contabilizan las vulnerabilidades de seguridad HIGH y CRITICAL.

  • El número máximo de vulnerabilidades de seguridad de la gravedad especificada que desea permitir. Si se supera este número, el informe de CodeCatalyst se marca como fallido. Los valores válidos son números enteros.

Los criterios de vulnerabilidad de seguridad se aplican solo a los informes de SA de PyLint y ESLint. Para obtener más información acerca de los informes de SA, consulte Informes de análisis estático.

Para especificar la gravedad mínima, utilice la propiedad Severity. Para especificar el número máximo de vulnerabilidades, utilice la propiedad Number.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito/Vulnerabilidades de seguridad

StaticAnalysisQuality

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisQuality)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisQuality)

(Opcional)

Especifique el número máximo y la gravedad de los errores de calidad permitidos en el informe de CA para que el informe de CodeCatalyst asociado se marque como aprobado. Para especificar problemas de calidad, debe especificar lo siguiente:

  • La gravedad mínima de los problemas de calidad que desea incluir en el recuento. Los valores válidos, desde el más al menos grave, son CRITICAL, HIGH, MEDIUM, LOW y INFORMATIONAL.

    Por ejemplo, si elige HIGH, se contabilizan los problemas de calidad HIGH y CRITICAL.

  • El número máximo de problemas de calidad de la gravedad especificada que desea permitir. Si se supera este número, el informe de CodeCatalyst se marca como fallido. Los valores válidos son números enteros.

Los criterios de problemas de calidad se aplican solo a los informes de SA de PyLint y ESLint. Para obtener más información acerca de los informes de SA, consulte Informes de análisis estático.

Para especificar la gravedad mínima, utilice la propiedad Severity. Para especificar el número máximo de vulnerabilidades, utilice la propiedad Number.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Problemas de calidad

StaticAnalysisFinding

(action-name/Outputs/AutoDiscoverReports/SuccessCriteria/StaticAnalysisFinding)

Or (Disyunción)

(action-name/Outputs/Reports/report-name-1/SuccessCriteria/StaticAnalysisFinding)

(Opcional)

Especifique el número máximo y la gravedad de los resultados permitidos en el informe de CA para que el informe de CodeCatalyst asociado se marque como aprobado. Para especificar los resultados, debe especificar lo siguiente:

  • La gravedad mínima de los resultados que desea incluir en el recuento. Los valores válidos, desde el más al menos grave, son CRITICAL, HIGH, MEDIUM, LOW y INFORMATIONAL.

    Por ejemplo, si elige HIGH, se contabilizan los resultados HIGH y CRITICAL.

  • El número máximo de resultados de la gravedad especificada que desea permitir. Si se supera este número, el informe de CodeCatalyst se marca como fallido. Los valores válidos son números enteros.

Los resultados se aplican únicamente a los informes de SA de SARIF. Para obtener más información acerca de los informes de SA, consulte Informes de análisis estático.

Para especificar la gravedad mínima, utilice la propiedad Severity. Para especificar el número máximo de vulnerabilidades, utilice la propiedad Number.

Interfaz de usuario correspondiente: pestaña Salida/Informes/Criterios de éxito/Resultados

Reports

(action-name/Outputs/Reports)

(Opcional)

Una sección que especifica la configuración de los informes de prueba.

Interfaz de usuario correspondiente: pestaña Salidas/Informes

report-name-1

(action-name/Outputs/Reports/report-name-1)

(Obligatorio si se incluye Reports)

El nombre que desea asignar al informe de CodeCatalyst que se generará a partir de sus informes sin procesar.

Interfaz de usuario correspondiente: pestaña Salidas/Informes/Configuración manual de informes/Nombre del informe

Format

(action-name/Outputs/Reports/report-name-1/Format)

(Obligatorio si se incluye Reports)

Especifique el formato de archivo que va a utilizar para sus informes. Los valores posibles son los siguientes.

  • Para los informes de prueba:

    • Para Cucumber JSON, especifique Cucumber (editor visual) o CUCUMBERJSON (editor de YAML).

    • Para JUnit XML, especifique JUnit (editor visual) o JUNITXML (editor de YAML).

    • Para NUnit XML, especifique NUnit (editor visual) o NUNITXML (editor de YAML).

    • Para NUnit 3 XML, especifique NUnit3 (editor visual) o NUNIT3XML (editor de YAML).

    • Para Visual Studio TRX, especifique Visual Studio TRX (editor visual) o VISUALSTUDIOTRX (editor de YAML).

    • Para TestNG XML, especifique TestNG (editor visual) o TESTNGXML (editor de YAML).

  • Para los informes de cobertura de código:

    • Para Clover XML, especifique Clover (editor visual) o CLOVERXML (editor de YAML).

    • Para Cobertura XML, especifique Cobertura (editor visual) o COBERTURAXML (editor de YAML).

    • Para JaCoCo XML, especifique JaCoCo (editor visual) o JACOCOXML (editor de YAML).

    • Para SimpleCov JSON generado por simplecov, no por simplecov-json, especifique Simplecov (editor visual) o SIMPLECOV (editor de YAML).

  • Para los informes de análisis de composición de software (SCA):

    • Para SARIF, especifique SARIF (editor visual) o SARIFSCA (editor de YAML).

Interfaz de usuario correspondiente: pestaña Salidas/Informes/Confirmar informes manualmente/Agregar/configurar informes/report-name-1/Tipo de informe y Formato de informe

Configuration

(action-name/Configuration)

(Obligatorio) Una sección en la que puede definir las propiedades de configuración de la acción.

Interfaz de usuario correspondiente: pestaña Configuración

Container

(action-name/Configuration/Container)

(Opcional)

Especifique la imagen de Docker, o el contenedor, que utilizará la acción para completar su procesamiento. Puede especificar una de las imágenes activas que se distribuyen con CodeCatalyst o puede usar su propia imagen. Si decide usar su propia imagen, esta puede residir en Amazon ECR, Docker Hub u otro registro. Si no especifica una imagen de Docker, la acción utilizará una de las imágenes activas para su procesamiento. Para obtener más información sobre qué imagen activa se usa de forma predeterminada, consulte Imágenes activas.

Para obtener más información sobre cómo especificar su propia imagen de Docker, consulte Asignación de una imagen de Docker de un entorno en tiempo de ejecución personalizada a una acción.

Interfaz de usuario correspondiente: Imagen de Docker del entorno en tiempo de ejecución (opcional)

Registry

(action-name/Configuration/Container/Registry)

(Obligatorio si se incluye Container)

Especifique el registro en el que la imagen está almacenada. Los valores válidos son:

  • CODECATALYST (editor de YAML)

    La imagen está almacenada en el registro de CodeCatalyst.

  • Docker Hub (editor visual) o DockerHub (editor de YAML)

    La imagen está almacenada en el registro de imágenes de Docker Hub.

  • Otro registro (editor visual) o Other (editor de YAML)

    La imagen está almacenada en un registro de imágenes personalizado. Se puede utilizar cualquier registro disponible públicamente.

  • Amazon Elastic Container Registry (editor visual) o ECR (editor de YAML)

    La imagen está almacenada en un repositorio de imágenes de Amazon Elastic Container Registry. Para usar una imagen de un repositorio de Amazon ECR, esta acción necesita acceso a Amazon ECR. Para habilitar este acceso, debe crear un rol de IAM que incluya los siguientes permisos y una política de confianza personalizada. (Si lo desea, puede modificar un rol existente para incluir los permisos y la política).

    El rol de IAM debe incluir los siguientes permisos en su política de rol:

    • ecr:BatchCheckLayerAvailability

    • ecr:BatchGetImage

    • ecr:GetAuthorizationToken

    • ecr:GetDownloadUrlForLayer

    El rol de IAM debe incluir la siguiente política de confianza personalizada:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

    Para obtener más información sobre cómo crear roles de IAM, consulte Crear un rol mediante políticas de confianza personalizadas (consola) en la Guía del usuario de IAM.

    Una vez que haya creado el rol, debe asignarlo a la acción a través de un entorno. Para obtener más información, consulte Asociación de un entorno a una acción.

Interfaz de usuario correspondiente: Amazon Elastic Container Registry, Docker Hub y opciones Otro registro

Image

(action-name/Configuration/Container/Image)

(Obligatorio si se incluye Container)

Especifique uno de los siguientes valores:

  • Si utiliza un registro de CODECATALYST, establezca la imagen en una de las siguientes imágenes activas:

    • CodeCatalystLinux_x86_64:2024_03

    • CodeCatalystLinux_x86_64:2022_11

    • CodeCatalystLinux_Arm64:2024_03

    • CodeCatalystLinux_Arm64:2022_11

    • CodeCatalystLinuxLambda_x86_64:2024_03

    • CodeCatalystLinuxLambda_x86_64:2022_11

    • CodeCatalystLinuxLambda_Arm64:2024_03

    • CodeCatalystLinuxLambda_Arm64:2022_11

    • CodeCatalystWindows_x86_64:2022_11

  • Si utiliza un registro de Docker Hub, establezca la imagen con el nombre de la imagen de Docker Hub y la etiqueta opcional.

    Ejemplo: postgres:latest

  • Si utiliza un registro de Amazon ECR, establezca la imagen en el URI del registro de Amazon ECR.

    Ejemplo: 111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo

  • Si utiliza un registro personalizado, establezca la imagen en el valor esperado por el registro personalizado.

Interfaz de usuario correspondiente: Imagen de docker del entorno en tiempo de ejecución (si el registro es CODECATALYST), Imagen de Docker Hub (si el registro es Docker Hub), URL de imagen de ECR (si el registro es Amazon Elastic Container Registry) y URL de imagen (si el registro es Otro registro).

Steps

(action-name/Configuration/Steps)

(Obligatorio)

Especifique los comandos del intérprete de comandos que desea ejecutar durante la acción para instalar, configurar y ejecutar las herramientas de compilación.

A continuación, se muestra un ejemplo de cómo crear un proyecto de npm:

Steps: - Run: npm install - Run: npm run build

A continuación, se muestra un ejemplo de cómo especificar rutas de archivos:

Steps: - Run: cd $ACTION_BUILD_SOURCE_PATH_WorkflowSource/app && cat file2.txt - Run: cd $ACTION_BUILD_SOURCE_PATH_MyBuildArtifact/build-output/ && cat file.txt

Para obtener más información sobre cómo especificar rutas de archivos, consulte Referencia a los archivos del repositorio de código fuente y Referencia a archivos en un artefacto.

Interfaz de usuario correspondiente: pestaña Configuración/Comandos del intérprete de comandos

Packages

(action-name/Configuration/Packages)

(Opcional)

Una sección en la que puede especificar un repositorio de paquetes que la acción utilizará para resolver las dependencias. Los paquetes le permiten almacenar y compartir de forma segura los paquetes de software que se usan en el desarrollo de aplicaciones.

Para obtener más información sobre los paquetes, consulte Publicación y uso compartido de paquetes de software en CodeCatalyst.

Interfaz de usuario correspondiente: pestaña Configuración/Paquetes

NpmConfiguration

(action-name/Configuration/Packages/NpmConfiguration)

(Obligatorio si se incluye Packages)

Una sección que define la configuración del formato del paquete npm. Una acción utiliza esta configuración durante la ejecución de un flujo de trabajo.

Para obtener más información sobre la configuración de paquetes npm, consulte Con npm.

Interfaz de usuario correspondiente: pestaña Configuración/Paquetes/Agregar configuración/npm

PackageRegistries

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries)

(Obligatorio si se incluye Packages)

Una sección en la que puede definir las propiedades de configuración de una secuencia de repositorios de paquetes.

Interfaz de usuario correspondiente: pestaña Configuración/Paquetes/Agregar configuración/npm/Agregar repositorio de paquetes

PackagesRepository

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/PackagesRepository)

(Obligatorio si se incluye Packages)

Especifique el nombre del repositorio de paquetes de CodeCatalyst que desea que utilice la acción.

Si especifica varios repositorios predeterminados, el último repositorio tendrá prioridad.

Para obtener más información sobre los repositorios de paquetes, consulte Repositorios de paquetes.

Interfaz de usuario correspondiente: pestaña Configuración/Paquetes/Agregar configuración/npm/Agregar repositorio de paquetes/Repositorio de paquetes

Scopes

(action-name/Configuration/Packages/NpmConfiguration/PackageRegistries/Scopes)

(Opcional)

Especifique la secuencia de ámbitos que desee definir en el registro de paquetes. Al definir los ámbitos, el repositorio de paquetes especificado se configura como el registro de todos los ámbitos de la lista. Si se solicita un paquete con ese ámbito a través del cliente npm, se utilizará ese repositorio en lugar del predeterminado. El nombre de cada ámbito debe tener el prefijo “@”.

Si incluye ámbitos solapados, el último repositorio tendrá prioridad.

Si Scopes se omite, el repositorio de paquetes especificado se configura como el registro predeterminado para todos los paquetes utilizados por la acción.

Para obtener más información sobre los ámbitos, consulte Espacios de nombres en paquetes y Scoped packages.

Interfaz de usuario correspondiente: pestaña Configuración/Paquetes/Agregar configuración/npm/Agregar repositorio de paquetes/Ámbitos (opcional)

ExportAuthorizationToken

(action-name/Configuration/Packages/ExportAuthorizationToken)

(Opcional)

Activa o desactiva la característica de token de autorización de exportación. Si están habilitados, los tokens de autorización exportados se pueden usar para configurar manualmente un administrador de paquetes para autenticarse en los repositorios de paquetes de CodeCatalyst. Puede usar el token como una variable de entorno a la que puede hacer referencia en sus acciones.

Los valores válidos son true o false.

Si ExportAuthorizationToken se omite, el valor predeterminado es false.

Para obtener más información sobre el token de autorización de exportación, consulte Uso de tokens de autorización en acciones del flujo de trabajo.

Interfaz de usuario correspondiente: pestaña Configuración/Paquetes/Token de autorización de exportación