Solución de problemas con los flujos de trabajo - Amazon CodeCatalyst

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.

Solución de problemas con los flujos de trabajo

Consulta las siguientes secciones para solucionar problemas relacionados con los flujos de trabajo en Amazon CodeCatalyst. Para obtener más información acerca de los flujos de trabajo, consulte Cree, pruebe e implemente con flujos de trabajo.

¿Cómo puedo corregir los mensajes que dicen que el flujo de trabajo está inactivo?

Problema: en la CodeCatalyst consola, en CI/CD, Flujos de trabajo, su flujo de trabajo aparece con el siguiente mensaje:

Workflow is inactive.

Este mensaje indica que el archivo de definición del flujo de trabajo contiene un activador que no se aplica a la rama en la que se encuentra actualmente. Por ejemplo, el archivo de definición de flujo de trabajo puede contener un PUSH disparador que haga referencia a su main rama, pero usted se encuentra en una rama de características. Como los cambios que realizas en la rama de entidades no se aplican a main la rama de funciones ni iniciarán las ejecuciones en ellamain, retira CodeCatalyst el flujo de trabajo de la rama y lo marca como talInactive.

Soluciones posibles:

Si quieres iniciar un flujo de trabajo en tu rama de funciones, puedes hacer lo siguiente:

  • En la rama de entidades, en el archivo de definición del flujo de trabajo, elimina la Branches propiedad de la Triggers sección para que tenga el siguiente aspecto:

    Triggers: - Type: PUSH

    Esta configuración hace que el activador se active cuando se envía a cualquier rama, incluida la rama de funciones. Si el activador está activado, CodeCatalyst iniciará la ejecución de un flujo de trabajo con el archivo de definición del flujo de trabajo y los archivos fuente de la rama a la que esté accediendo.

  • En la rama de funciones, en el archivo de definición del flujo de trabajo, elimina la Triggers sección y ejecuta el flujo de trabajo manualmente.

  • En la rama de entidades, en el archivo de definición del flujo de trabajo, cambia la PUSH sección para que haga referencia a la rama de entidades en lugar de a otra rama (por ejemplo). main

importante

Tenga cuidado de no realizar estos cambios si no tiene intención de fusionarlos para volver a formar parte de su main rama.

Para obtener más información sobre la edición del archivo de definición del flujo de trabajo, consulteCreación de un flujo de trabajo.

Para obtener más información acerca de los disparadores, consulte Iniciar un flujo de trabajo, ejecutarlo automáticamente mediante activadores.

¿Cómo puedo corregir el error «La definición de flujo de trabajo tiene n ¿errores»?

Problema: aparece alguno de los siguientes mensajes de error:

Error 1:

En la página de flujos de trabajo de CI/CD, debajo del nombre de su flujo de trabajo, verá:

Workflow definition has n errors

Error 2:

Al editar un flujo de trabajo, se pulsa el botón Validar y aparece el siguiente mensaje en la parte superior de la CodeCatalyst consola:

The workflow definition has errors. Fix the errors and choose Validate to verify your changes.

Error 3:

Tras acceder a la página de detalles del flujo de trabajo, aparece el siguiente error en el campo de definición del flujo de trabajo:

n errors

Soluciones posibles:

  • Elija CI/CD, elija Flujos de trabajo y elija el nombre del flujo de trabajo que contiene el error. En el campo de definición del flujo de trabajo, situado cerca de la parte superior, selecciona el enlace al error. Los detalles sobre el error aparecen en la parte inferior de la página. Sigue los consejos de solución de problemas que aparecen en el error para solucionar el problema.

  • Asegúrese de que el archivo de definición del flujo de trabajo sea un YAML archivo.

  • Asegúrese de que las YAML propiedades del archivo de definición del flujo de trabajo estén anidadas en el nivel correcto. Para ver cómo deben anidarse las propiedades en el archivo de definición del flujo de trabajo, consulte la YAMLDefinición del flujo de trabajo documentación de la acción o consulte la misma, a la que está vinculada desde. Añadir una acción a un flujo de trabajo

  • Asegúrese de que los asteriscos (*) y otros caracteres especiales estén bien alineados. Para evitarlos, añada comillas simples o dobles. Por ejemplo:

    Outputs: Artifacts: - Name: myartifact Files: - "**/*"

    Para obtener más información sobre los caracteres especiales del archivo de definición del flujo de trabajo, consultePautas y convenciones de sintaxis.

  • Asegúrese de que las YAML propiedades del archivo de definición del flujo de trabajo utilizan las mayúsculas correctas. Para obtener más información sobre las reglas de uso de mayúsculas, consultePautas y convenciones de sintaxis. Para determinar la carcasa correcta de cada propiedad, consulte o consulte la YAMLDefinición del flujo de trabajo documentación de su acción, que está vinculada aAñadir una acción a un flujo de trabajo.

  • Asegúrese de que la SchemaVersion propiedad esté presente y configurada en la versión correcta en el archivo de definición del flujo de trabajo. Para obtener más información, consulte SchemaVersion.

  • Asegúrese de que la Triggers sección del archivo de definición del flujo de trabajo incluya todas las propiedades necesarias. Para determinar las propiedades requeridas, elija el activador en el editor visual y busque los campos en los que falte información, o consulte la documentación de referencia del activador enTriggers.

  • Asegúrese de que la DependsOn propiedad del archivo de definición del flujo de trabajo esté configurada correctamente y no introduzca dependencias circulares. Para obtener más información, consulte Secuenciación de acciones.

  • Asegúrese de que la Actions sección del archivo de definición del flujo de trabajo incluya al menos una acción. Para obtener más información, consulte Acciones.

  • Asegúrese de que cada acción incluya todas las propiedades obligatorias. Para determinar las propiedades obligatorias, elija la acción en el editor visual y busque los campos en los que falte información, o consulte la documentación de la acción, que está vinculada desdeAñadir una acción a un flujo de trabajo.

  • Asegúrese de que todos los artefactos de entrada tengan los artefactos de salida correspondientes. Para obtener más información, consulte Definición de un artefacto de salida.

  • Asegúrese de que las variables definidas en una acción se exporten para poder utilizarlas en otras acciones. Para obtener más información, consulte Exportación de una variable para que otras acciones puedan utilizarla.

¿Cómo puedo corregir los errores «No se pueden localizar las credenciales» y ExpiredToken «»?

Problema: Mientras lo solucionasTutorial: Implementar una aplicación en Amazon EKS, ves uno o ambos de los siguientes mensajes de error en la ventana del terminal de tu máquina de desarrollo:

Unable to locate credentials. You can configure credentials by running "aws configure".

ExpiredToken: The security token included in the request is expired

Soluciones posibles:

Estos errores indican que las credenciales que utilizas para acceder a AWS los servicios han caducado. En este caso, no ejecute el aws configure comando. En su lugar, siga las instrucciones siguientes para actualizar la clave de AWS acceso y el token de sesión.

Para actualizar la clave de AWS acceso y el token de sesión
  1. Asegúrese de tener el portal de AWS accesoURL, el nombre de usuario y la contraseña del usuario que está utilizando para completar el EKS tutorial de Amazon (codecatalyst-eks-user). Deberías haber configurado estos elementos cuando terminaste Paso 1: Configura tu máquina de desarrollo el tutorial.

    nota

    Si no dispone de esta información, vaya a la página de codecatalyst-eks-user detalles del IAM Identity Center, seleccione Restablecer contraseña, Generar una contraseña de un solo uso [...] y vuelva a restablecer la contraseña para que aparezca la información en la pantalla.

  2. Realice una de las siguientes acciones siguientes:

    • Pegue el portal de AWS acceso URL en la barra de direcciones de su navegador.

      Or (Disyunción)

    • Actualice la página del portal de AWS acceso si ya está cargada.

  3. Inicie sesión con el nombre codecatalyst-eks-user de usuario y la contraseña, si aún no lo ha hecho.

  4. Elija y Cuenta de AWS, a continuación, elija el nombre del usuario Cuenta de AWS al que ha asignado el conjunto de permisos y el codecatalyst-eks-user usuario.

  5. Junto al nombre del conjunto de permisos (codecatalyst-eks-permission-set), elija Línea de comandos o Acceso mediante programación.

  6. Copie los comandos que se encuentran en el centro de la página. Tienen un aspecto similar al siguiente:

    export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" export AWS_SESSION_TOKEN="session-token"

    ... dónde session-token es una cadena larga y aleatoria.

  7. Pegue los comandos en el indicador del terminal de su máquina de desarrollo y presione Entrar.

    Se cargan las nuevas claves y el token de sesión.

    Ya ha actualizado sus credenciales. Los kubectl comandos AWS CLIeksctl, y deberían funcionar ahora.

¿Cómo puedo corregir los errores «No se puede conectar al servidor»?

Problema: Mientras trabaja en el tutorial descrito enTutorial: Implementar una aplicación en Amazon EKS, verá un mensaje de error similar al siguiente en la ventana del terminal de su máquina de desarrollo:

Unable to connect to the server: dial tcp: lookup long-string.gr7.us-west-2.eks.amazonaws.com on 1.2.3.4:5: no such host

Soluciones posibles:

Este error suele indicar que las credenciales que utiliza la kubectl utilidad para conectarse a tu EKS clúster de Amazon han caducado. Para solucionar el problema, actualiza las credenciales introduciendo el siguiente comando en la línea de comandos del terminal:

aws eks update-kubeconfig --name codecatalyst-eks-cluster --region us-west-2

Donde:

  • codecatalyst-eks-cluster se sustituye por el nombre de tu EKS clúster de Amazon.

  • us-west-2 se sustituye por la AWS región en la que está desplegado el clúster.

¿Por qué faltan CodeDeploy campos en el editor visual?

Problema: estás utilizando una ECS acción de Deploy to Amazon y no ves los CodeDeploy campos, como CodeDeploy AppSpecen el editor visual del flujo de trabajo. Este problema puede deberse a que el ECS servicio de Amazon que especificó en el campo Servicio no está configurado para realizar despliegues en azul o verde.

Soluciones posibles:

  • Elige un ECS servicio de Amazon diferente en la pestaña Configuración de la ECS acción Implementar en Amazon. Para obtener más información, consulte Implementación en Amazon ECS con un flujo de trabajo.

  • Configura el ECS servicio de Amazon seleccionado para realizar despliegues azul/verde. Para obtener más información sobre la configuración de las implementaciones azul/verde, consulte Implementación azul/verde en CodeDeploy la Guía para desarrolladores de Amazon Elastic Container Service.

¿Cómo puedo corregir los errores de capacidades? IAM

Problema: estás utilizando una acción de despliegue de AWS CloudFormation pila y la ves ##[error] requires capabilities: [capability-name] en los registros de la acción de despliegue de AWS CloudFormation pila.

Posibles soluciones: complete el siguiente procedimiento para añadir la capacidad al archivo de definición del flujo de trabajo. Para obtener más información sobre IAM las capacidades, consulte Reconocimiento de IAM los recursos en AWS CloudFormation las plantillas de la Guía del IAM usuario.

Visual
Para añadir una IAM capacidad mediante el editor visual
  1. Abra la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Elija el proyecto.

  3. En el panel de navegación, elija CI/CD y, a continuación, elija Flujos de trabajo.

  4. Elija el nombre de su flujo de trabajo. Puede filtrar por el nombre del repositorio o la rama de origen donde está definido el flujo de trabajo, o bien filtrar por nombre o estado del flujo de trabajo.

  5. Elija Editar.

  6. Elija Visual.

  7. En el diagrama de flujo de trabajo, elige la acción Implementar AWS CloudFormation pila.

  8. Elija la pestaña Configuración.

  9. En la parte inferior, selecciona Avanzado (opcional).

  10. En la lista desplegable de capacidades, seleccione la casilla de verificación situada junto a la capacidad mencionada en el mensaje de error. Si la capacidad no está disponible en la lista, utilice el YAML editor para añadirla.

  11. (Opcional) Elija Validar para validar el YAML código del flujo de trabajo antes de confirmarlo.

  12. Selecciona Confirmar, introduce un mensaje de confirmación y vuelve a seleccionar Confirmar.

  13. Si la ejecución de un nuevo flujo de trabajo no se inicia automáticamente, ejecútelo manualmente para comprobar si los cambios corrigen el error. Para obtener más información sobre la ejecución manual de un flujo de trabajo, consulteIniciar un flujo de trabajo: ejecutar manualmente.

YAML
Para añadir una IAM capacidad mediante el YAML editor
  1. Abra la CodeCatalyst consola en https://codecatalyst.aws/.

  2. Elija el proyecto.

  3. En el panel de navegación, elija CI/CD y, a continuación, elija Flujos de trabajo.

  4. Elija el nombre de su flujo de trabajo. Puede filtrar por el nombre del repositorio o la rama de origen donde está definido el flujo de trabajo, o bien filtrar por nombre o estado del flujo de trabajo.

  5. Elija Editar.

  6. Elija YAML.

  7. En la acción Implementar AWS CloudFormation pila, añade una capabilities propiedad, como esta:

    DeployCloudFormationStack: Configuration: capabilities: capability-name

    Reemplazar capability-name con el nombre de la IAM capacidad que aparece en el mensaje de error. Utilice comas y no espacios para enumerar varias capacidades. Para obtener más información, consulte la descripción de la capabilities propiedad en. Acción «Desplegar AWS CloudFormation pila» YAML

  8. (Opcional) Elija Validar para validar el YAML código del flujo de trabajo antes de confirmarlo.

  9. Selecciona Confirmar, introduce un mensaje de confirmación y vuelve a seleccionar Confirmar.

  10. Si la ejecución de un nuevo flujo de trabajo no se inicia automáticamente, ejecútelo manualmente para comprobar si los cambios corrigen el error. Para obtener más información sobre la ejecución manual de un flujo de trabajo, consulteIniciar un flujo de trabajo: ejecutar manualmente.

¿Cómo puedo corregir los errores de «npm install»?

Problema: la acción de AWS CDK despliegue o la acción de AWS CDK arranque fallan y se produce un error. npm install Este error puede producirse porque estás almacenando las dependencias de tu AWS CDK aplicación en un registro de administrador de paquetes de nodos privados (npm) al que no se puede acceder mediante la acción.

Posibles soluciones: sigue las siguientes instrucciones para actualizar el cdk.json archivo de tu AWS CDK aplicación con información adicional de registro y autenticación.

Antes de empezar
  1. Crea secretos para tu información de autenticación. Hará referencia a estos secretos en el cdk.json archivo en lugar de proporcionar los equivalentes en texto claro. Para crear los secretos:

    1. Abre la CodeCatalyst consola en https://codecatalyst.aws/.

    2. Elija el proyecto.

    3. En el panel de navegación, elija CI/CD y, a continuación, Secretos.

    4. Cree dos secretos con las siguientes propiedades:

      Primer secreto Segundo secreto

      Nombre: npmUsername

      Valor npm-usernamedonde, npm-username es el nombre de usuario que se utiliza para autenticarse en su registro npm privado.

      (Opcional) Descripción: The username used to authenticate to the private npm registry.

      Nombre: npmAuthToken

      Valor npm-auth-tokendonde, npm-auth-token es el token de acceso que se utiliza para autenticarse en su registro npm privado. Para obtener más información sobre los tokens de acceso de npm, consulta Acerca de los tokens de acceso en la documentación de npm.

      Descripción (opcional): The access token used to authenticate to the private npm registry.

      Para obtener más información sobre los secretos, consulteEnmascaramiento de datos mediante secretos.

  2. Añada los secretos como variables de entorno a su AWS CDK acción. La acción reemplazará las variables por valores reales cuando se ejecute. Para añadir los secretos:

    1. En el panel de navegación, elija CI/CD y, a continuación, elija Flujos de trabajo.

    2. Elija el nombre de su flujo de trabajo. Puede filtrar por el nombre del repositorio o la rama de origen donde está definido el flujo de trabajo, o bien filtrar por nombre o estado del flujo de trabajo.

    3. Elija Editar.

    4. Elija Visual.

    5. En el diagrama de flujo de trabajo, elige tu AWS CDK acción.

    6. Seleccione la pestaña Entradas.

    7. Añada dos variables con las siguientes propiedades:

      Primera variable Segunda variable

      Nombre: NPMUSER

      Valor: ${Secrets.npmUsername}

      Nombre: NPMTOKEN

      Valor: ${Secrets.npmAuthToken}

      Ahora tiene dos variables que contienen referencias a secretos.

    El YAML código del archivo de definición de flujo de trabajo debe tener un aspecto similar al siguiente:

    nota

    El siguiente ejemplo de código proviene de una acción de AWS CDK arranque; una acción de AWS CDK despliegue tendrá un aspecto similar.

    Name: CDK_Bootstrap_Action SchemaVersion: 1.0 Actions: CDKBootstrapAction: Identifier: aws/cdk-bootstrap@v2 Inputs: Variables: - Name: NPMUSER Value: ${Secrets.npmUsername} - Name: NPMTOKEN Value: ${Secrets.npmAuthToken} Sources: - WorkflowSource Environment: Name: Dev2 Connections: - Name: account-connection Role: codecatalystAdmin Configuration: Parameters: Region: "us-east-2"

    Ahora está listo para usar las NPMTOKEN variables NPMUSER y del cdk.json archivo. Vaya al siguiente procedimiento.

Para actualizar el archivo cdk.json
  1. Cambia al directorio raíz de tu AWS CDK proyecto y abre el cdk.json archivo.

  2. Busque la "app": propiedad y cámbiela para incluir el código que se muestra en red italics:

    nota

    El siguiente código de ejemplo proviene de un TypeScript proyecto. Si utilizas un JavaScript proyecto, el código tendrá un aspecto similar, aunque no idéntico.

    { "app": "npm set registry=https://your-registry/folder/CDK-package/ --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:always-auth=true --userconfig .npmrc && npm set //your-registry/folder/CDK-package/:_authToken=\"${NPMUSER}\":\"${NPMTOKEN}\" && npm install && npx ts-node --prefer-ts-exts bin/hello-cdk.ts|js", "watch": { "include": [ "**" ], "exclude": [ "README.md", "cdk*.json", "**/*.d.ts", "**/*.js", "tsconfig.json", "package*.json", ...
  3. En el código resaltado en red italics, sustituya:

    • your-registry/folder/CDK-package/ con la ruta a las dependencias de su AWS CDK proyecto en su registro privado.

    • hello-cdk.ts|.js con el nombre del archivo de puntos de entrada. Puede ser un archivo .ts (TypeScript) o .js (JavaScript) según el idioma que utilices.

      nota

      La acción sustituirá al NPMUSER y NPMTOKEN variables con el nombre de usuario y el token de acceso de npm que especificó en Secrets.

  4. Guarde el archivo cdk.json.

  5. Vuelva a ejecutar la acción manualmente para comprobar si los cambios corrigen el error. Para obtener más información sobre la ejecución manual de acciones, consulteIniciar un flujo de trabajo: ejecutar manualmente.

¿Por qué varios flujos de trabajo tienen el mismo nombre?

Los flujos de trabajo se almacenan por rama y repositorio. Dos flujos de trabajo diferentes pueden tener el mismo nombre si existen en ramas diferentes. En la página Flujos de trabajo, puede diferenciar los flujos de trabajo del mismo nombre consultando el nombre de la rama. Para obtener más información, consulte Cómo organizar tu trabajo con el código fuente con las sucursales de Amazon CodeCatalyst.

rama de flujo de trabajo

¿Puedo almacenar mis archivos de definición de flujo de trabajo en otra carpeta?

No, debe almacenar todos los archivos de definición de flujos de trabajo en la .codecatalyst/workflows carpeta o en las subcarpetas de esa carpeta. Si utiliza un repositorio mono con varios proyectos lógicos, coloque todos los archivos de definición de flujo de trabajo en la .codecatalyst/workflows carpeta o en una de sus subcarpetas y, a continuación, utilice el campo Archivos cambiados (editor visual) o la FilesChanged propiedad (YAMLeditor) dentro de un disparador para activar el flujo de trabajo automáticamente en una ruta de proyecto específica. Para obtener más información, consulte Añadir activadores a los flujos de trabajo y Ejemplo: un disparador con una pulsación, ramas y archivos.

¿Cómo puedo añadir acciones secuencialmente a mi flujo de trabajo?

De forma predeterminada, cuando añadas una acción a tu flujo de trabajo, no tendrá dependencias y se ejecutará en paralelo con otras acciones.

Si desea organizar las acciones en secuencia, puede establecer una dependencia de otra acción configurando el DependsOn campo. También puedes configurar una acción para que consuma artefactos o variables que sean el resultado de otras acciones. Para obtener más información, consulte Secuenciación de acciones.

¿Por qué mi flujo de trabajo se valida correctamente pero falla en tiempo de ejecución?

Si validó su flujo de trabajo con el Validate botón, pero el flujo de trabajo falló de todos modos, podría deberse a una limitación en el validador.

Los errores relacionados con un CodeCatalyst recurso, como secretos, entornos o flotas, en la configuración del flujo de trabajo no se registrarán durante la confirmación. Si se utiliza alguna referencia que no sea válida, el error solo se identificará cuando se ejecute un flujo de trabajo. Del mismo modo, si hay algún error en la configuración de la acción, como la falta de un campo obligatorio o errores tipográficos en los atributos de la acción, solo se identificará cuando se ejecute el flujo de trabajo. Para obtener más información, consulte Creación de un flujo de trabajo.

La detección automática no detecta ningún informe sobre mi acción

Problema: configuré la detección automática para una acción que ejecuta pruebas, pero no detecta ningún informe. CodeCatalyst

Posibles soluciones: esto puede deberse a varios problemas. Pruebe una o más de las siguientes soluciones:

  • Asegúrese de que la herramienta utilizada para ejecutar las pruebas produzca resultados en uno de los formatos que mejor se CodeCatalyst entiendan. Por ejemplo, si desea pytest CodeCatalyst permitir la detección de informes de cobertura de código y pruebas, incluya los siguientes argumentos:

    --junitxml=test_results.xml --cov-report xml:test_coverage.xml

    Para obtener más información, consulte Tipos de informes de calidad.

  • Asegúrese de que la extensión del archivo de salida sea coherente con el formato elegido. Por ejemplo, al configurar pytest para producir resultados en JUnitXML formato, compruebe que la extensión del archivo sea.xml. Para obtener más información, consulte Tipos de informes de calidad.

  • Asegúrese de que IncludePaths está configurado para incluir todo el sistema de archivos (**/*), a menos que excluya determinadas carpetas a propósito. Del mismo modo, asegúrese de ExcludePaths no excluir los directorios en los que espera que estén ubicados sus informes.

  • Si configuró manualmente un informe para usar un archivo de salida específico, se excluirá de la detección automática. Para obtener más información, consulte YAMLEjemplo de informes de calidad.

  • Es posible que la detección automática no encuentre los informes porque la acción falló antes de que se generara ningún resultado. Por ejemplo, es posible que la compilación haya fallado antes de ejecutar las pruebas unitarias.

Mi acción falla en los informes detectados automáticamente después de configurar los criterios de éxito

Problema: cuando habilito la detección automática y configuro los criterios de éxito, algunos de los informes no cumplen los criterios de éxito y, como resultado, la acción falla.

Posibles soluciones: para solucionar este problema, pruebe una o varias de las siguientes soluciones:

  • ExcludePathsModifique IncludePaths o excluya los informes que no le interesen.

  • Actualice los criterios de éxito para permitir que se aprueben todos los informes. Por ejemplo, si se detectaron dos informes, uno con una cobertura de líneas del 50% y otro del 70%, ajuste la cobertura mínima de líneas al 50%. Para obtener más información, consulte Criterios correctos

  • Convierta el informe defectuoso en un informe configurado manualmente. Esto le permite configurar diferentes criterios de éxito para ese informe específico. Para obtener más información, consulte Configurar los criterios de éxito de los informes.

La detección automática genera informes que no deseo

Problema: cuando habilito la detección automática, se generan informes que no deseo. Por ejemplo, CodeCatalyst genera informes de cobertura de código para los archivos incluidos en las dependencias de mi aplicación almacenados en. node_modules

Posibles soluciones: puede ajustar la ExcludePaths configuración para excluir los archivos no deseados. Por ejemplo, para excluirnode_modules, añadanode_modules/**/*. Para obtener más información, consulte Incluir/excluir rutas.

La detección automática genera muchos informes pequeños para un único marco de pruebas

Problema: Cuando utilizo ciertos marcos de informes de cobertura de código y pruebas, observé que la detección automática genera una gran cantidad de informes. Por ejemplo, cuando se utiliza el complemento Maven Surefire, la detección automática produce un informe diferente para cada clase de prueba.

Posibles correcciones: es posible que su marco pueda agregar los resultados en un solo archivo. Por ejemplo, si está utilizando el complemento Maven Surefire, puede usarlo npx junit-merge para agregar los archivos manualmente. La expresión completa puede tener este aspecto:

mvn test; cd test-package-path/surefire-reports && npx junit-merge -d ./ && rm *Test.xml

Los flujos de trabajo enumerados en CI/CD no coinciden con los del repositorio de origen

Problema: los flujos de trabajo que aparecen en la página Flujos de trabajo de CI/CD no coinciden con los de la ~/.codecatalyst/workflows/ carpeta del repositorio de origen. Es posible que vea las siguientes discrepancias:

  • En la página Flujos de trabajo aparece un flujo de trabajo, pero el archivo de definición de flujo de trabajo correspondiente no existe en el repositorio de origen.

  • Existe un archivo de definición de flujo de trabajo en el repositorio de origen, pero el flujo de trabajo correspondiente no aparece en la página Flujos de trabajo.

  • Existe un flujo de trabajo tanto en el repositorio de origen como en la página de flujos de trabajo, pero ambos son diferentes.

Este problema puede producirse si la página de flujos de trabajo no ha tenido tiempo de actualizarse o si se ha superado una cuota de flujo de trabajo.

Soluciones posibles:

  • Espera. Por lo general, tienes que esperar dos o tres segundos después de confirmarlo en la fuente antes de ver el cambio en la página de flujos de trabajo.

  • Si has superado una cuota de flujo de trabajo, realiza una de las siguientes acciones:

    nota

    Para determinar si se ha superado una cuota de flujo de trabajoCuotas para flujos de trabajo en CodeCatalyst, revisa y coteja las cuotas documentadas con los flujos de trabajo de tu repositorio de origen o de la página Flujos de trabajo. No hay ningún mensaje de error que indique que se ha superado una cuota, por lo que tendrás que investigarlo por tu cuenta.

    • Si has superado el número máximo de flujos de trabajo por cuota de espacio, elimina algunos flujos de trabajo y, a continuación, realiza una comprobación comparándolos con el archivo de definición del flujo de trabajo. Un ejemplo de confirmación de prueba podría ser añadir un espacio al archivo.

    • Si has superado la cuota máxima de tamaño de archivo de definición de flujo de trabajo, cambia el archivo de definición de flujo de trabajo para reducir su longitud.

    • Si ha superado la cantidad máxima de archivos de flujo de trabajo procesados en una sola cuota de eventos de origen, realice varias confirmaciones de prueba. Modifique menos flujos de trabajo que el número máximo de flujos de trabajo en cada confirmación.

No puedo crear ni actualizar flujos de trabajo

Problema: quiero crear o actualizar un flujo de trabajo, pero aparece un error al intentar realizar el cambio.

Posibles soluciones: en función de tu función en el proyecto o espacio, es posible que no tengas permisos para insertar código en los repositorios de código fuente del proyecto. Los YAML archivos de los flujos de trabajo se almacenan en repositorios. Para obtener más información, consulte Archivos de definición del flujo de trabajo. El rol de administrador del espacio, el rol de administrador del proyecto y el rol de colaborador tienen permiso para enviar y enviar código a los repositorios de un proyecto.

Si tienes el rol de colaborador pero no puedes crear o confirmar cambios YAML en el flujo de trabajo de una rama específica, es posible que haya una regla de ramificación configurada para esa rama que impida a los usuarios con ese rol enviar código a esa rama en particular. Intenta crear un flujo de trabajo en una rama diferente o confirmar los cambios en una rama diferente. Para obtener más información, consulte Gestione las acciones permitidas para una sucursal con las reglas de la sucursal.