Solución de problemas generales - AWS CodeDeploy

Solución de problemas generales

Lista de comprobación de solución de problemas generales

Puede utilizar la siguiente lista de comprobación para solucionar un error en la implementación.

  1. Consulte Visualización de los detalles de la implementación de CodeDeploy y View Instance Details para determinar por qué se produjo un error en la implementación. Si no puede determinar la causa, revise los elementos de esta lista de comprobación.

  2. Compruebe si ha configurado correctamente las instancias:

  3. Compruebe la configuración de la aplicación y del grupo de implementaciones:

  4. Confirme que la revisión de la aplicación está configurada correctamente:

  5. Compruebe si el rol de servicio está configurado correctamente. Para obtener más información, consulte Paso 2: Crear un rol de servicio para CodeDeploy.

  6. Confirme que ha seguido los pasos de Introducción a CodeDeploy para:

    • Aprovisionar a un usuario con los permisos necesarios.

    • Instalar o actualizar y configurar la AWS CLI.

    • Crear un perfil de instancia y un rol de servicio de IAM.

    Para obtener más información, consulte Administración de identidades y accesos para AWS CodeDeploy.

  7. Confirme que está usando la versión de la AWS CLI 1.6.1 o posterior. Para comprobar la versión que tiene instalada, llame a aws --version.

Si sigue sin poder solucionar el error de la implementación, consulte los otros puntos de este tema.

Los recursos de implementación de CodeDeploy solo se admiten en algunas regiones de AWS

Si no ve o no puede tener acceso a aplicaciones, grupos de implementación, instancias u otros recursos de implementación desde la AWS CLI o la consola de AWS, asegúrese de que está haciendo referencia a una de las regiones que se indican en Regiones y puntos de conexión en la Referencia general de AWS.

Las instancias de EC2 y los grupos de Amazon EC2 Auto Scaling que se vayan a utilizar en implementaciones de CodeDeploy deben lanzarse y crearse en una de estas regiones de AWS.

Si utiliza la AWS CLI, ejecute el comando aws configure desde la AWS CLI. Después podrá ver y configurar la región predeterminada de AWS.

Si utiliza la consola de CodeDeploy, en la barra de navegación, desde el selector de regiones, elija una de las regiones de AWS admitidas.

importante

Para utilizar servicios en la región de China (Pekín) o China (Ningxia), debe disponer de una cuenta y de credenciales para estas regiones. Las cuentas y credenciales de otras regiones de AWS no funcionan en las regiones de Beijing y Ningxia, y viceversa.

La información sobre algunos recursos para las regiones de China, como los nombres de los buckets del kit de recursos de CodeDeploy y los procedimientos de instalación del agente de CodeDeploy, no se incluye en esta edición de la Guía del usuario de CodeDeploy.

Para obtener más información:

Los procedimientos de esta guía no sirven para la consola de CodeDeploy

Los procedimientos de esta guía se han diseñado para reflejar el nuevo diseño de la consola. Si utiliza la versión anterior de la consola, muchos de los conceptos y procedimientos básicos de esta guía se siguen aplicando. Para obtener acceso a ayuda en la nueva consola, elija el icono de información.

Los roles de IAM necesarios no están disponibles

Si utiliza un perfil de instancia de IAM o un rol de servicio que se creó como parte de una pila de AWS CloudFormation y elimina la pila, se eliminarán también todos los roles de IAM. Este puede ser el motivo por el que el rol de IAM ya no se muestre en la consola de IAM y por el que CodeDeploy ya no funcione según lo previsto. Para solucionar este problema, debe volver a crear manualmente el rol de IAM eliminado.

El uso de algunos editores de texto para crear archivos AppSpec y scripts de intérpretes de comandos produce un error en las implementaciones

Algunos editores de texto introducen en los archivos caracteres no imprimibles que no se admiten. Si utiliza editores de texto para crear o modificar archivos AppSpec o archivos de script de intérpretes de comandos para su ejecución en instancias de Amazon Linux, Ubuntu Server o RHEL, las implementaciones que usan estos archivos podrían producir un error. Cuando CodeDeploy utiliza estos archivos durante una implementación, la presencia de estos caracteres puede provocar errores de validación del archivo AppSpec difíciles de solucionar y errores de ejecución del script.

En la consola de CodeDeploy, en la página de detalles del evento de la implementación, elija Ver registros. (O use la AWS CLI para llamar al comando get-deployment-instance.) Busque errores como invalid character, command not found o file not found.

Para solucionar este problema, le recomendamos lo siguiente:

  • No utilice editores de texto que introduzcan caracteres no imprimibles, como retornos de carro (caracteres ^M) en sus archivos AppSpec y archivos de script de intérpretes de comandos.

  • Utilice editores de texto que muestren los caracteres no imprimibles, como los retornos de carro, en sus archivos AppSpec y archivos de script de intérpretes de comandos, para que pueda buscar y eliminar aquellos caracteres que se hayan podido introducir. Para ver ejemplos de estos tipos de editores de texto, busque en Internet "el editor de texto muestra los retornos de carro".

  • Utilice editores de texto que se ejecuten en instancias de Amazon Linux, Ubuntu Server o RHEL para crear archivos de script de intérpretes de comandos que se ejecuten en instancias de Amazon Linux, Ubuntu Server o RHEL. Para ver ejemplos de estos tipos de editores de texto, busque en Internet "editor de script de intérpretes de comandos de Linux".

  • Si debe utilizar un editor de texto en Windows o macOS para crear archivos de script de intérpretes de comandos que se van a ejecutar en instancias de Amazon Linux, Ubuntu Server o RHEL, use un programa o una utilidad que convierta el texto en formato Windows o macOS en formato Unix. Para ver ejemplos de estos programas y utilidades, busque en Internet "de DOS a UNIX" o "de Mac a UNIX". Asegúrese de probar los archivos de intérpretes de comandos convertidos en los sistemas operativos de destino.

El uso de Finder en macOS para empaquetar una revisión de la aplicación puede producir un error en la implementación

Las implementaciones podrían producir un error si usa la aplicación de interfaz de usuario gráfica (GUI) Finder en un Mac para empaquetar (zip) un archivo AppSpec y archivos relacionados en un archivo de almacenamiento de revisión de la aplicación (.zip). Esto se debe a que Finder crea una carpeta __MACOSX intermedia en el archivo .zip y coloca archivos de componentes en ella. CodeDeploy no puede encontrar los archivos de componentes y la implementación produce un error.

Para solucionar este problema, le recomendamos que utilice la AWS CLI para llamar al comando push, que empaqueta los archivos de componentes en la estructura prevista. Otra opción es usar Terminal en lugar de la GUI para comprimir los archivos de componentes. Terminal no crea una carpeta __MACOSX intermedia.