Solución de problemas generales
Temas
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.
-
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.
-
Compruebe si ha configurado correctamente las instancias:
-
¿Se ha lanzado la instancia con un par de claves de EC2 especificadas? Para obtener más información, consulte Pares de claves EC2 en la Guía del usuario de Amazon EC2.
-
¿Se ha asociado a la instancia el perfil de instancia de IAM correcto? Para obtener más información, consulte Configuración de una instancia de Amazon EC2 para que funcione con CodeDeploy y Paso 4: Crear un perfil de instancia de IAM para las instancias de Amazon EC2.
-
¿Se ha etiquetado la instancia? Para obtener más información, consulte Trabajo con etiquetas en la consola en la Guía del usuario de Amazon EC2.
-
¿Está instalado y ejecutándose el agente de CodeDeploy en la instancia? Para obtener más información, consulte Gestión de las operaciones del agente de CodeDeploy. Para comprobar qué versión del agente está instalada, consulte Determinación de la versión del agente de CodeDeploy.
-
-
Compruebe la configuración de la aplicación y del grupo de implementaciones:
-
Para comprobar la configuración de la aplicación, consulte Visualización de los detalles de la aplicación con CodeDeploy.
-
Para comprobar la configuración del grupo de implementaciones, consulte Visualización de los detalles de un grupo de implementación con CodeDeploy.
-
-
Confirme que la revisión de la aplicación está configurada correctamente:
-
Compruebe el formato de su archivo AppSpec. Para obtener más información, consulte Adición de un archivo de especificación de aplicación a una revisión para CodeDeploy y Referencia del archivo AppSpec de CodeDeploy.
-
Compruebe el bucket de Amazon S3 o el repositorio de GitHub para verificar que la revisión de la aplicación se encuentra en la ubicación prevista.
-
Examine los detalles de la revisión de la aplicación de CodeDeploy para asegurarse de que está registrada correctamente. Para obtener más información, consulte Visualización de los detalles de una revisión de aplicación con CodeDeploy.
-
Si va a realizar la implementación desde Amazon S3, compruebe el bucket de Amazon S3 para verificar que a CodeDeploy se le han concedido permisos para descargar la revisión de la aplicación. Para obtener información sobre las políticas de buckets, consulte Requisitos previos para una implementación.
-
Si va a realizar la implementación desde GitHub, compruebe el repositorio de GitHub para verificar que a CodeDeploy se le han concedido permisos para descargar la revisión de la aplicación. Para obtener más información, consulte Creación de una implementación con CodeDeploy y Autenticación en GitHub con aplicaciones de CodeDeploy.
-
-
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.
-
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.
-
-
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:
-
CodeDeploy
en Introducción a AWS en la región de China (Pekín) -
Guía del usuario de CodeDeploy para las regiones de China (versión en inglés
| versión en chino )
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.