Solución de problemas de CodePipeline - AWS CodePipeline
Error de canalización: una canalización configurada con AWS Elastic Beanstalk devuelve un mensaje de error similar al siguiente: "Error en la implementación. El rol proporcionado no tiene permisos suficientes: Service:AmazonElasticLoadBalancing"Error de implementación: una canalización configurada con una acción de implementación de AWS Elastic Beanstalk se bloquea en lugar de dar un error si falta el permiso "DescribeEvents"Error de canalización: una acción de origen devuelve un mensaje de permisos insuficientes similar al siguiente: "No se pudo tener acceso al repositorio repository-name de CodeCommit. Asegúrese de que rol de IAM de la canalización tenga permisos suficientes para obtener acceso al repositorio".Error de canalización: una acción de compilación o prueba de Jenkins se ejecuta de manera prolongada y da un error debido a la falta de credenciales o permisosError de canalización: una canalización creada en una región de AWS con un bucket creado en otra región de AWS devuelve el mensaje "InternalError" con el código "JobFailed"Error de implementación: un archivo ZIP que contiene un archivo WAR se implementa correctamente en AWS Elastic Beanstalk, pero la URL de la aplicación registra un error 404 Not FoundLos nombres de la carpeta de artefactos de la canalización parecen estar truncadosAgrega permisos de GitClone de CodeBuild para las conexiones a Bitbucket, GitHub, GitHub Enterprise Server o Gitlab.comAñadir permisos de GitClone de CodeBuild para las acciones de origen de CodeCommitError de canalización: una implementación con la acción CodeDeployToECS devuelve un mensaje de error similar al siguiente: "Excepción al intentar leer el archivo de artefactos de definición de tareas de: <nombre del artefacto de origen>"Acción de origen de la versión 1 de GitHub: la lista de repositorios muestra diferentes repositoriosAcción de origen de la versión 2 de GitHub: no se puede completar la conexión para un repositorioError de Amazon S3: al rol de servicio CodePipeline <ARN>se le deniega el acceso a S3 para el bucket de S3 <BucketName>Las canalizaciones con un origen de Amazon S3, Amazon ECR o CodeCommit ya no se inician automáticamenteError de conexiones al conectarse a GitHub: «Ha ocurrido un problema, asegúrese de que las cookies estén habilitadas en el navegador» o «El propietario de una organización debe instalar la aplicación de GitHub»Las canalizaciones con el modo de ejecución cambiado al modo EN COLA o al modo PARALELO fallan cuando se alcanza el límite de ejecuciónLas canalizaciones en modo PARALELO tienen una definición de canalización desactualizada si se editan al cambiar al modo EN COLA o SUPERSEDEDLas canalizaciones que cambien del modo PARALELO a otro mostrarán un modo de ejecución anteriorEs posible que las canalizaciones con conexiones que utilicen el filtrado de desencadenadores por rutas de archivo no se inicien al crear la ramificaciónEs posible que las canalizaciones con conexiones que utilicen el filtrado de desencadenadores por rutas de archivo no se inicien cuando se alcance el límite de archivosEs posible que las revisiones de origen de CodeCommit o S3 en modo PARALELO no coincidan con el evento de EventBridge ¿Necesita ayuda con otro problema?

Solución de problemas de CodePipeline

La siguiente información puede ayudarle a solucionar problemas comunes en AWS CodePipeline.

Temas

Error de canalización: una canalización configurada con AWS Elastic Beanstalk devuelve un mensaje de error similar al siguiente: "Error en la implementación. El rol proporcionado no tiene permisos suficientes: Service:AmazonElasticLoadBalancing"

Problema: el rol de servicio de CodePipeline no tiene permisos suficientes para AWS Elastic Beanstalk, incluidos, entre otros, los permisos para algunas operaciones en Elastic Load Balancing. El rol de servicio de CodePipeline se actualizó el 6 de agosto de 2015 para solucionar este problema. Los clientes que crearon su rol de servicio antes de esta fecha deben modificar la instrucción de política de su rol de servicio para añadir los permisos necesarios.

Posibles correcciones: la solución más fácil es editar la instrucción de política para su rol de servicio como se detalla en Añadir permisos al rol de servicio de CodePipeline.

Una vez aplicada la política editada, siga los pasos de Iniciar la canalización manualmente para volver a ejecutar manualmente las canalizaciones que usa Elastic Beanstalk..

En función de sus requisitos de seguridad, puede modificar también los permisos de otras dos formas.

Error de implementación: una canalización configurada con una acción de implementación de AWS Elastic Beanstalk se bloquea en lugar de dar un error si falta el permiso "DescribeEvents"

Problema: el rol de servicio de CodePipeline debe incluir la acción "elasticbeanstalk:DescribeEvents" para todas las canalizaciones que usan AWS Elastic Beanstalk. Sin este permiso, AWS Elastic Beanstalk implementa el bloqueo de acciones sin producir ni indicar un error. Si esta acción no se encuentra en el rol de servicio, CodePipeline no tiene permisos para ejecutar la etapa de implementación de canalización en AWS Elastic Beanstalk en su nombre.

Soluciones posibles: revise el rol de servicio de CodePipeline. Si falta la acción "elasticbeanstalk:DescribeEvents", utilice los pasos de Añadir permisos al rol de servicio de CodePipeline para añadirla mediante la característica Edit Policy de la consola de IAM.

Una vez aplicada la política editada, siga los pasos de Iniciar la canalización manualmente para volver a ejecutar manualmente las canalizaciones que usa Elastic Beanstalk..

Error de canalización: una acción de origen devuelve un mensaje de permisos insuficientes similar al siguiente: "No se pudo tener acceso al repositorio repository-name de CodeCommit. Asegúrese de que rol de IAM de la canalización tenga permisos suficientes para obtener acceso al repositorio".

Problema: el rol de servicio de CodeCommit no tiene permisos suficientes para CodeCommit y probablemente se creó antes de que se añadiera la compatibilidad para usar repositorios de CodeCommit el 18 de abril de 2016. Los clientes que crearon su rol de servicio antes de esta fecha deben modificar la instrucción de política de su rol de servicio para añadir los permisos necesarios.

Soluciones posibles: añada los permisos necesarios para CodeCommit a su política de ro de servicio de CodePipeline. Para obtener más información, consulte Añadir permisos al rol de servicio de CodePipeline.

Error de canalización: una acción de compilación o prueba de Jenkins se ejecuta de manera prolongada y da un error debido a la falta de credenciales o permisos

Problema: si el servidor de Jenkins está instalado en una instancia de Amazon EC2, es posible que la instancia no se haya creado con una función de instancia que tenga los permisos necesarios para CodePipeline. Si utiliza un usuario de IAM en un servidor de Jenkins, en una instancia local o en una instancia de Amazon EC2 creada sin el rol de IAM necesario, el usuario de IAM no tiene los permisos necesarios o el servidor de Jenkins no puede tener acceso a esas credenciales a través del perfil configurado en el servidor.

Soluciones posibles: asegúrese de que el rol de la instancia de Amazon EC2 o el usuario de IAM estén configurados con la política administrada AWSCodePipelineCustomActionAccess o con los permisos equivalentes. Para obtener más información, consulte Políticas administradas de AWS para AWS CodePipeline.

Si utiliza un usuario de IAM, asegúrese de que el perfil de AWS configurado en la instancia utiliza el usuario de IAM configurado con los permisos correctos. Es posible que tenga que proporcionar las credenciales el usuario de IAM que configuró para la integración entre Jenkins y CodePipeline directamente en la interfaz de usuario de Jenkins. Este procedimiento no se recomienda. Si tiene que hacerlo, asegúrese de que el servidor de Jenkins está protegido y usa HTTPS en lugar de HTTP.

Error de canalización: una canalización creada en una región de AWS con un bucket creado en otra región de AWS devuelve el mensaje "InternalError" con el código "JobFailed"

Problema: se produce un error al descargar un artefacto almacenado en un bucket de Amazon S3 si la canalización y el bucket se crearon en regiones de AWS diferentes.

Soluciones posibles: asegúrese de que el bucket de Amazon S3 en el que se almacena el artefacto está en la misma región de AWS que la canalización creada.

Error de implementación: un archivo ZIP que contiene un archivo WAR se implementa correctamente en AWS Elastic Beanstalk, pero la URL de la aplicación registra un error 404 Not Found

Problema: un archivo WAR se ha implementado correctamente en un entorno de AWS Elastic Beanstalk, pero la URL de la aplicación devuelve un error 404 Not Found.

Soluciones posibles: AWS Elastic Beanstalk puede desempaquetar un archivo ZIP, pero no un archivo WAR incluido en un archivo ZIP. En lugar de especificar un archivo WAR en su archivo buildspec.yml, especifique una carpeta que incluya el contenido que se va a implementar. Por ejemplo:

version: 0.2 phases: post_build: commands: - mvn package - mv target/my-web-app ./ artifacts: files: - my-web-app/**/* discard-paths: yes

Para ver un ejemplo, consulte Ejemplo de AWS Elastic Beanstalk para CodeBuild.

Los nombres de la carpeta de artefactos de la canalización parecen estar truncados

Problema: cuando ve los nombres de los artefactos de la canalización en CodePipeline, parecen estar truncados. Esto puede hacer que parezca que los nombres son similares o que ya no contienen el nombre completo de la canalización.

Explicación: CodePipeline trunca los nombres de los artefactos para asegurarse de que la ruta completa de Amazon S3 no supere los límites de tamaño de la política cuando CodePipeline genera credenciales temporales para los procesos de trabajo.

Aunque el nombre del artefacto parece estar truncado, CodePipeline realiza el mapeo al bucket de artefactos de forma que no se ve afectado por los artefactos con nombres truncados. La canalización puede funcionar con normalidad. Esto no supone un problema con la carpeta ni con los artefactos. Los nombres de las canalizaciones tienen una longitud máxima de 100 caracteres. Aunque el nombre de la carpeta de artefactos parezca estar acortado, sigue siendo único para la canalización.

Agrega permisos de GitClone de CodeBuild para las conexiones a Bitbucket, GitHub, GitHub Enterprise Server o Gitlab.com

Cuando se utiliza una conexión de AWS CodeStar en una acción de código fuente y una acción de CodeBuild, hay dos maneras en que el artefacto de entrada se puede pasar a la compilación:

  • La forma predeterminada: la acción de origen produce un archivo zip que contiene el código que CodeBuild descarga.

  • Clonación de Git: el código fuente se puede descargar directamente en el entorno de compilación.

    El modo de clonación de Git le permite interactuar con el código fuente como un repositorio de Git de trabajo. Para utilizar este modo, debe conceder permisos al entorno de CodeBuild para utilizar la conexión.

Para agregar permisos a la política del rol de servicio de CodeBuild, cree una política administrada por el cliente y adjúntela al rol de servicio de CodeBuild. Los pasos siguientes crean una política en la que se especifica el permiso UseConnection en el campo action y el ARN de conexión se especifica en el campo Resource.

Para usar la consola para añadir los permisos UseConnection
  1. Para encontrar el ARN de conexión de su canalización, abra la canalización y haga clic en el icono (i) de la acción de código fuente. Se agrega el ARN de conexión a la política de la función de servicio de CodeBuild.

    Un ejemplo de ARN de conexión es:

    arn:aws:codeconnections:eu-central-1:123456789123:connection/sample-1908-4932-9ecc-2ddacee15095
  2. Para encontrar la función de servicio de CodeBuild, abra el proyecto de compilación utilizado en la canalización y diríjase a la pestaña Build details (Detalles de compilación).

  3. Seleccione el enlace Service role (Rol de servicio). Se abre la consola de IAM, donde puede añadir una nueva política que conceda acceso a la conexión.

  4. En la consola de IAM, elija Attach policies (Asociar políticas), y, a continuación, elija Create policy (Crear política).

    Utilice la siguiente plantilla de política de ejemplo. Añada el ARN de su conexión al campo Resource, como se muestra en este ejemplo:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codestar-connections:UseConnection", "Resource": "insert connection ARN here" } ] }

    En la pestaña JSON pegue la política.

  5. Elija Revisar política. Escriba un nombre para la política (por ejemplo, connection-permissions) y elija Create policy (Crear política).

  6. Vuelva a la página en la que asoció los permisos, actualice la lista de políticas y seleccione la política que acaba de crear. Seleccione Asociar políticas.

    Imagen que muestra la opción de asociar una política a la consola

Añadir permisos de GitClone de CodeBuild para las acciones de origen de CodeCommit

Cuando su canalización tiene una acción de origen de CodeCommit, hay dos maneras de pasar el artefacto de entrada a la compilación:

  • Forma predeterminada: la acción de origen produce un archivo zip que contiene el código que CodeBuild descarga.

  • Clonación completa: el código fuente se puede descargar directamente en el entorno de compilación.

    El modo Clonación completa le permite interactuar con el código fuente como un repositorio de Git de trabajo. Para utilizar este modo, debe añadir permisos para que su entorno de CodeBuild pueda extraerlos de su repositorio.

Para agregar permisos a la política del rol de servicio de CodeBuild, cree una política administrada por el cliente y adjúntela al rol de servicio de CodeBuild. Los siguientes pasos crean una política que especifica el permiso codecommit:GitPull en el campo action.

Para usar la consola para añadir permisos de GitPull
  1. Para encontrar la función de servicio de CodeBuild, abra el proyecto de compilación utilizado en la canalización y diríjase a la pestaña Build details (Detalles de compilación).

  2. Seleccione el enlace Service role (Rol de servicio). Se abre la consola de IAM, donde puede añadir una nueva política que conceda acceso al repositorio.

  3. En la consola de IAM, elija Attach policies (Asociar políticas), y, a continuación, elija Create policy (Crear política).

  4. En la pestaña JSON, pegue el ejemplo de política siguiente:

    { "Action": [ "codecommit:GitPull" ], "Resource": "*", "Effect": "Allow" },
  5. Elija Revisar política. Escriba un nombre para la política (por ejemplo, codecommit-gitpull) y elija Create policy (Crear política).

  6. Vuelva a la página en la que asoció los permisos, actualice la lista de políticas y seleccione la política que acaba de crear. Seleccione Asociar políticas.

Error de canalización: una implementación con la acción CodeDeployToECS devuelve un mensaje de error similar al siguiente: "Excepción al intentar leer el archivo de artefactos de definición de tareas de: <nombre del artefacto de origen>"

Problema:

El archivo de definición de tareas es un artefacto obligatorio para la acción de implementación de CodePipeline en Amazon ECS a través de CodeDeploy (la acción CodeDeployToECS). El tamaño máximo del ZIP del artefacto en la acción de implementación CodeDeployToECS es de 3 MB. Se devuelve el siguiente mensaje de error cuando no se encuentra el archivo o el tamaño del artefacto supera los 3 MB:

Excepción al intentar leer el archivo de artefactos de definición de tareas de: <nombre del artefacto del origen>

Posibles correcciones: asegúrese de que el archivo de definición de la tarea se incluya como un artefacto. Si el archivo ya existe, asegúrese de que el tamaño comprimido sea inferior a 3 MB.

Acción de origen de la versión 1 de GitHub: la lista de repositorios muestra diferentes repositorios

Problema:

Tras una autorización correcta para una acción de la versión 1 de GitHub en la consola de CodePipeline, puede elegir de una lista de sus repositorios de GitHub. Si la lista no incluye los repositorios que esperaba ver, puede solucionar el problema de la cuenta utilizada para la autorización.

Correcciones posibles: la lista de repositorios proporcionada en la consola de CodePipeline se basa en la organización de GitHub a la que pertenece la cuenta autorizada. Verifica que la cuenta que estás usando para autorizar con GitHub sea la cuenta asociada a la organización de GitHub en la que se creó su repositorio.

Acción de origen de la versión 2 de GitHub: no se puede completar la conexión para un repositorio

Problema:

dado que una conexión a un repositorio de GitHub utiliza AWS Connector for GitHub, necesita permisos del propietario de la organización o permisos del administrador del repositorio para crear la conexión.

Soluciones posibles: para obtener información acerca de los niveles de permisos de un repositorio de GitHub, consulte https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-organizations-and-teams/permission-levels-for-an-organization.

Error de Amazon S3: al rol de servicio CodePipeline <ARN>se le deniega el acceso a S3 para el bucket de S3 <BucketName>

Problema:

Mientras está en curso, la acción CodeCommit de CodePipeline comprueba que existe el bucket de artefactos de canalización. Si la acción no tiene permiso para comprobarse, se produce un error AccessDenied en Amazon S3 y aparece el siguiente mensaje de error en CodePipeline:

Al rol de servicio de CodePipeline "arn:aws:iam::AccountID:role/service-role/RoleID" se le deniega el acceso a S3 para el bucket de S3 "BucketName"

Los registros de CloudTrail de la acción también registran el error AccessDenied.

Posibles soluciones: haga lo siguiente:

  • Para la política asociada a su rol de servicio de CodePipeline, añada s3:ListBucket a la lista de acciones de su política. Para obtener instrucciones sobre cómo ver su política de roles de servicio, consulte Ver el ARN de la canalización y el ARN del rol de servicio (consola). Edite la declaración de política de su rol de servicio tal y como se detalla en Añadir permisos al rol de servicio de CodePipeline.

  • En el caso de la política basada en recursos adjunta al bucket de artefactos de Amazon S3 de su canalización, también denominada política de buckets de artefactos, añada una instrucción que permita que su rol de servicio de CodePipeline utilice el permiso s3:ListBucket.

    Para añadir su política al bucket de artefactos
    1. Siga los pasos que se indican en Ver el ARN de la canalización y el ARN del rol de servicio (consola) para elegir su bucket de artefactos en la página Configuración de la canalización y, a continuación, visualícelo en la consola de Amazon S3.

    2. Elija Permissions (Permisos).

    3. En Bucket Policy (Política de bucket), elija Edit (Editar).

    4. En el campo de texto Política, introduzca una nueva política de bucket o edite la política existente, tal y como se muestra en el siguiente ejemplo. La política de bucket es un archivo JSON, por lo que debe introducir un JSON válido.

      En el siguiente ejemplo, se muestra una instrucción de política de bucket para un bucket de artefactos donde el ID de rol de ejemplo para el rol de servicio es AROAEXAMPLEID.

      { "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BucketName", "Condition": { "StringLike": { "aws:userid": "AROAEXAMPLEID:*" } } }

      En el siguiente ejemplo, se muestra la misma instrucción de política de bucket después de añadir el permiso.

      { "Version": "2012-10-17", "Id": "SSEAndSSLPolicy", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::codepipeline-us-east-2-1234567890", "Condition": { "StringLike": { "aws:userid": "AROAEXAMPLEID:*" } } }, { "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::codepipeline-us-east-2-1234567890/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "DenyInsecureConnections", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::codepipeline-us-east-2-1234567890/*", "Condition": { "Bool": { "aws:SecureTransport": false } } } ] }

      Para obtener más información, consulte los pasos en https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/.

    5. Seleccione Guardar.

Una vez aplicada la política editada, siga los pasos de Iniciar la canalización manualmente para volver a ejecutar manualmente la canalización.

Las canalizaciones con un origen de Amazon S3, Amazon ECR o CodeCommit ya no se inician automáticamente

Problema:

Tras realizar un cambio en los ajustes de configuración de una acción que utiliza reglas de eventos (EventBridge o CloudWatch Events) para la detección de cambios, es posible que la consola no detecte un cambio si los identificadores del desencadenador de origen son similares y tienen caracteres iniciales idénticos. Como la consola no crea la nueva regla de eventos, la canalización ya no se inicia automáticamente.

Un ejemplo de un cambio menor al final del nombre del parámetro de CodeCommit sería cambiar el nombre de la ramificación de CodeCommit de MyTestBranch-1 a MyTestBranch-2. Como el cambio se produce al final del nombre de la rama, es posible que la regla de eventos de la acción de origen no actualice ni cree una regla para la nueva configuración del origen.

Esto se aplica a las acciones de origen que utilizan eventos de CWE para la detección de cambios, de la siguiente manera:

Acción de origen Parámetros/identificadores de desencadenador (consola)
Amazon ECR

Nombre del repositorio

Etiquetas de la imagen

Amazon S3

Bucket

Clave de objeto de S3

CodeCommit

Nombre del repositorio

Nombre de ramificación

Soluciones posibles:

Realice una de las siguientes acciones siguientes:

  • Cambie los ajustes de configuración de CodeCommit/S3/ECR para que los cambios se realicen en la parte inicial del valor del parámetro.

    Ejemplo: cambiar el nombre de ramificación de release-branch a 2nd-release-branch. Evite cambios al final del nombre, por ejemplo release-branch-2.

  • Cambie los ajustes de configuración de CodeCommit/S3/ECR para cada canalización.

    Ejemplo: cambiar el nombre de ramificación de myRepo/myBranch a myDeployRepo/myDeployBranch. Evite cambios al final del nombre, por ejemplo myRepo/myBranch2.

  • En lugar de la consola, utilice la CLI o AWS CloudFormation para crear y actualizar las reglas de eventos de detección de cambios. Para obtener instrucciones sobre cómo crear reglas de eventos para una acción de origen de S3, consulte Conexión a acciones de origen de Amazon S3 que utilizan EventBridge y AWS CloudTrail. Para obtener instrucciones sobre cómo crear reglas de eventos para una acción de Amazon ECR, consulte acciones de origen de Amazon ECR y recursos de EventBridge. Para obtener instrucciones sobre cómo crear reglas de eventos para una acción de CodeCommit, consulte acciones de origen de CodeCommit y EventBridge.

Tras editar la configuración de las acciones en la consola, acepte los recursos de detección de cambios actualizados creados por la consola.

Error de conexiones al conectarse a GitHub: «Ha ocurrido un problema, asegúrese de que las cookies estén habilitadas en el navegador» o «El propietario de una organización debe instalar la aplicación de GitHub»

Problema:

Para crear la conexión para una acción de origen de GitHub, debe ser el propietario de la organización de GitHub. Para los repositorios que no pertenecen a una organización, debe ser el propietario del repositorio. Cuando alguien que no sea el propietario de la organización crea una conexión, se crea una solicitud para el propietario de la organización y se muestra uno de los siguientes errores:

Se ha producido un problema, asegúrese de que las cookies estén habilitadas en el navegador

OR

El propietario de una organización debe instalar la aplicación de GitHub

Posibles correcciones: Para los repositorios de una organización de GitHub, el propietario de la organización debe crear la conexión con el repositorio de GitHub. Para los repositorios que no pertenecen a una organización, debe ser el propietario del repositorio.

Las canalizaciones con el modo de ejecución cambiado al modo EN COLA o al modo PARALELO fallan cuando se alcanza el límite de ejecución

Problema: el número máximo de ejecuciones simultáneas para una canalización en modo EN COLA es de 50 ejecuciones. Cuando se alcanza este límite, la canalización falla sin mostrar ningún mensaje de estado.

Posibles soluciones: al editar la definición de la canalización para el modo de ejecución, realice la edición por separado de otras acciones de edición.

Para obtener más información sobre el modo de ejecución EN COLA o PARALELO, consulte Conceptos de CodePipeline.

Las canalizaciones en modo PARALELO tienen una definición de canalización desactualizada si se editan al cambiar al modo EN COLA o SUPERSEDED

Problema: para las canalizaciones en modo paralelo, al editar el modo de ejecución de la canalización en el modo EN COLA o SUPERSEDED, la definición de canalización para el modo PARALELO no se actualizará. La definición de canalización actualizada al actualizar el modo PARALELO no se utiliza en los modos SUPERSEDED o EN COLA

Posibles soluciones: para las canalizaciones en modo paralelo, al editar el modo de ejecución de la canalización en el modo EN COLA o SUPERSEDED, evite actualizar la definición de la canalización al mismo tiempo.

Para obtener más información sobre el modo de ejecución EN COLA o PARALELO, consulte Conceptos de CodePipeline.

Las canalizaciones que cambien del modo PARALELO a otro mostrarán un modo de ejecución anterior

Problema: en el caso de las canalizaciones en modo PARALELO, al editar el modo de ejecución de la canalización en el modo EN COLA o SUPERSEDED, el estado de la canalización no mostrará el estado actualizado como PARALELO. Si la canalización cambia del modo PARALELO al modo EN COLA o SUPERSEDED, el estado de la canalización en modo SUPERSEDED o EN COLA será el último estado conocido en cualquiera de esos modos. Si la canalización nunca se ejecutó en ese modo anteriormente, el estado quedará vacío.

Posibles soluciones: para las canalizaciones en modo paralelo, al editar el modo de ejecución de la canalización en el modo EN COLA o SUPERSEDED, tenga en cuenta que la pantalla del modo de ejecución no mostrará el estado PARALELO.

Para obtener más información sobre el modo de ejecución EN COLA o PARALELO, consulte Conceptos de CodePipeline.

Es posible que las canalizaciones con conexiones que utilicen el filtrado de desencadenadores por rutas de archivo no se inicien al crear la ramificación

Descripción: para las canalizaciones con acciones de origen que utilizan conexiones, como una acción de origen de BitBucket, es posible configurar un desencadenador con una configuración de Git que permita filtrar por rutas de archivo para iniciar la canalización. En algunos casos, en el caso de las canalizaciones con desencadenadores que se filtran en rutas de archivo, es posible que una canalización no se inicie al crear por primera vez una ramificación con un filtro de ruta de archivo, ya que esto no permite que la conexión de CodeConnections resuelva los archivos que han cambiado. Si la configuración de Git del desencadenador se establece para filtrar en las rutas de archivo, la canalización no se iniciará en cuanto se cree la ramificación con el filtro en el repositorio de origen. Para obtener más información sobre el filtrado en las rutas de archivo, consulte Filtros de desencadenadores en solicitudes de inserción o extracción de código.

Resultado: por ejemplo, las canalizaciones de CodePipeline que tengan un filtro de rutas de archivo en una ramificación “B” no se activarán cuando se cree dicha ramificación “B”. Si no hay filtros de rutas de archivo, la canalización seguirá iniciándose.

Es posible que las canalizaciones con conexiones que utilicen el filtrado de desencadenadores por rutas de archivo no se inicien cuando se alcance el límite de archivos

Descripción: para las canalizaciones con acciones de origen que utilizan conexiones, como una acción de origen de BitBucket, es posible configurar un desencadenador con una configuración de Git que permita filtrar por rutas de archivo para iniciar la canalización. CodePipeline recupera hasta los 100 primeros archivos; por lo tanto, si la configuración de Git del desencadenador se establece para filtrar en las rutas de archivo, es posible que la canalización no se inicie si hay más de 100 archivos. Para obtener más información sobre el filtrado en las rutas de archivo, consulte Filtros de desencadenadores en solicitudes de inserción o extracción de código.

Resultado: por ejemplo, si una diferencia contiene 150 archivos, CodePipeline examina los 100 primeros archivos (sin ningún orden en particular) para comprobarlos con el filtro de ruta de archivos especificado. Si el archivo que coincide con el filtro de rutas de archivo no está entre los 100 archivos que recupera CodePipeline, no se invocará la canalización.

Es posible que las revisiones de origen de CodeCommit o S3 en modo PARALELO no coincidan con el evento de EventBridge

Descripción: en el caso de las ejecuciones de canalizaciones en modo PARALELO, una ejecución puede comenzar con el cambio más reciente, como la confirmación del repositorio de CodeCommit, que puede que no sea el mismo que el cambio del evento de EventBridge. En algunos casos, en los que pueda haber una fracción de segundo entre confirmaciones o etiquetas de imagen que inician la canalización, cuando CodePipeline recibe el evento, inicia la ejecución y se inserta otra confirmación o etiqueta de imagen, CodePipeline (por ejemplo, la acción de CodeCommit) clonará la confirmación de HEAD en ese momento.

Resultado: en el caso de las canalizaciones en modo PARALELO con un código fuente de CodeCommit o de S3, independientemente del cambio que haya desencadenado la ejecución de la canalización, la acción de origen siempre clonará el HEAD en el momento en que se inicie. Por ejemplo, para una canalización en modo PARALELO, se inserta una confirmación, que inicia la canalización para la ejecución 1, y la segunda ejecución de la canalización utiliza la segunda confirmación.

¿Necesita ayuda con otro problema?

Pruebe estos otros recursos: