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.
Volver a implementar y restaurar una implementación con CodeDeploy
CodeDeploy restaura las implementaciones volviendo a implementar una revisión implementada anteriormente de una aplicación como una nueva implementación. Estas implementaciones restauradas son, desde el punto de vista técnico, nuevas implementaciones, con nuevos ID de implementación, en lugar de versiones recuperadas de una implementación anterior.
Las implementaciones se pueden restaurar de forma automática o manual.
Temas
Restauraciones automáticas
Puede configurar una implementación o un grupo de implementaciones para que se restauren automáticamente si falla una implementación o si se supera un umbral de monitorización que haya especificado. En este caso, se implementa la última versión correcta conocida de una revisión de la aplicación. Puede configurar restauraciones automáticas al crear una aplicación o al crear o actualizar un grupo de implementaciones.
Al crear una nueva implementación, también puede optar por anular la configuración de restauración automática especificada para el grupo de implementaciones.
nota
Puede utilizar Amazon Simple Notification Service para recibir una notificación cuando se restaure automáticamente una implementación. Para obtener más información, consulte Monitoring Deployments with Amazon SNS Event Notifications.
Para obtener más información acerca de cómo configurar restauraciones automáticas, consulte Configuración de las opciones avanzadas de un grupo de implementación.
Restauraciones manuales
Si no ha configurado restauraciones automáticas, puede restaurar manualmente una implementación creando una nueva implementación que utilice cualquier revisión de una aplicación implementada anteriormente y siguiendo los pasos para volver a implementar una revisión. Puede hacerlo si una aplicación se ha quedado en un estado desconocido. En lugar de dedicar mucho tiempo a resolver problemas, puede volver a implementar la aplicación a un estado operativo conocido. Para obtener más información, consulte Cree una implementación con CodeDeploy.
nota
Si elimina una instancia de un grupo de implementación, CodeDeploy no desinstala nada que puede que ya se haya instalado en dicha instancia.
Flujo de trabajo de la restauración y reimplementación
Cuando se inicia una restauración automática, o cuando inicia manualmente una reimplementación o una restauración manual, CodeDeploy intenta primero eliminar de cada instancia participante todos los archivos que se han instalado correctamente por última vez. CodeDeploy realiza este proceso comprobando el archivo de limpieza:
Archivo /opt/codedeploy-agent/deployment-root/deployment-instructions/ (para las instancias de Amazon Linux, Ubuntu Server y RHEL) deployment-group-ID-cleanup
Archivo C:\ProgramData\Amazon\CodeDeploy\deployment-instructions\ (para las instancias de Windows Server) deployment-group-ID-cleanup
Si existe, CodeDeploy utiliza el archivo de limpieza para eliminar de la instancia todos los archivos enumerados antes de empezar la nueva implementación.
Por ejemplo, los dos primeros archivos de texto y los dos archivos de script ya estaban implementados una instancia de Amazon EC2 que ejecutaba Windows Server y los scripts crearon dos archivos de texto más durante los eventos del ciclo de vida de la implementación:
c:\temp\a.txt (previously deployed by CodeDeploy) c:\temp\b.txt (previously deployed by CodeDeploy) c:\temp\c.bat (previously deployed by CodeDeploy) c:\temp\d.bat (previously deployed by CodeDeploy) c:\temp\e.txt (previously created by c.bat) c:\temp\f.txt (previously created by d.bat)
El archivo de limpieza enumerará únicamente los dos primeros archivos de texto y dos archivos de script:
c:\temp\a.txt c:\temp\b.txt c:\temp\c.bat c:\temp\d.bat
Antes de la nueva implementación, CodeDeploy eliminará solo los dos primeros archivos de texto y los dos archivos de script, dejando intactos los últimos dos archivos de texto:
c:\temp\a.txt will be removed c:\temp\b.txt will be removed c:\temp\c.bat will be removed c:\temp\d.bat will be removed c:\temp\e.txt will remain c:\temp\f.txt will remain
Como parte de este proceso, CodeDeploy no intentará revertir o conciliar de algún modo las acciones realizadas por ningún script en las implementaciones anteriores durante las reimplementaciones posteriores, ya sean restauraciones manuales o automáticas. Por ejemplo, si los archivos c.bat y d.bat contienen lógica para no volver a crear los archivos e.txt y f.txt si ya existen, las antiguas versiones de e.txt y f.txt permanecerán intactas siempre que CodeDeploy c.bat y d.bat en las implementaciones subsiguientes. Puede añadir lógica c.bat y d.bat para comprobar y eliminar siempre las versiones anteriores de e.txt y f.txt antes de crear otras nuevas.
Comportamiento de la restauración con contenido existente
Como parte del proceso de implementación, el agente de CodeDeploy elimina de cada instancia todos los archivos instalados por la implementación más reciente. Si en las ubicaciones de implementación de destino aparecen archivos que no formaban parte de una implementación anterior, puede elegir qué hace CodeDeploy con ellos durante la siguiente implementación:
-
Dar como errónea la implementación: se notifica un error y el estado de la implementación cambia a Error.
-
Sobrescribir el contenido: la versión del archivo de la revisión de la aplicación sustituye a la versión ya incluida en la instancia.
-
Conservar el contenido: el archivo de la ubicación de destino se conserva y la versión de la revisión de la aplicación no se copia en la instancia.
Puede elegir este comportamiento si crea una implementación. Si está creando una implementación en la consola, consulte Cree una implementación de EC2 /On-Premises Compute Platform (consola). Si está creando una implementación con la AWS CLI, consulte Crear una implementación de EC2 /On-Premises Compute Platform (CLI).
Puede optar por conservar los archivos que desea que formen parte de la próxima implementación sin tener que añadirlos al paquete de revisión de la aplicación. Por ejemplo, podría cargar directamente en la instancia los archivos que son necesarios para la implementación pero que no se añadieron al paquete de revisión de la aplicación. O podría cargar archivos en la instancia si sus aplicaciones ya están en su entorno de producción, pero desea utilizar CodeDeploy por primera vez para implementarlos.
En el caso de las restauraciones, en las que se vuelve a implementar la última revisión de la aplicación implementada correctamente debido a un error de implementación, se aplica la opción de gestión de contenido de la última implementación correcta a la implementación de restauración.
Sin embargo, si la implementación errónea se configuró para sobrescribir, en lugar de para conservar los archivos, podría producirse un resultado inesperado durante la restauración. En concreto, los archivos que esperaba conservar puede que los elimine la implementación errónea. Los archivos no están en la instancia cuando se ejecuta la implementación de restauración.
En el siguiente ejemplo, existen tres implementaciones. Cualquier archivo que se sobrescribe (elimina) durante la segunda implementación errónea ya no estará disponible (no se puede conservar) cuando se implemente de nuevo la 1ª revisión de la aplicación durante la 3ª implementación:
|
Implementación |
Revisión de la aplicación |
Opción de sobrescritura del contenido |
Estado de la implementación |
Comportamiento y resultado |
|---|---|---|---|---|
|
1ª implementación |
1ª revisión de la aplicación |
RETAIN |
Realizado correctamente |
CodeDeploy detecta archivos en las ubicaciones de destino que no fueron implementados por la implementación anterior. Estos archivos podrían colocarse allí deliberadamente para que formen parte de la implementación actual. Se conservan y registran como parte del paquete de implementación actual. |
|
2ª implementación |
2ª revisión de la aplicación |
OVERWRITE |
Failed |
Durante el proceso de implementación, CodeDeploy elimina todos los archivos que forman parte de la anterior implementación correcta. Esto incluye los archivos que se conservaron durante la 1ª implementación. Sin embargo, la implementación falla por motivos ajenos. |
|
3ª implementación |
1ª revisión de la aplicación |
RETAIN |
Dado que está habilitada la restauración automática para la implementación o grupo de implementación, CodeDeploy implementa la última revisión de la aplicación correcta conocida: la 1ª revisión de la aplicación. Sin embargo, los archivos que deseaba conservar en la 1ª implementación se eliminaron antes de que fallara la 2ª implementación y no se pueden recuperar mediante AWS CodeDeploy. Puede añadirlos usted mismo a la instancia si son necesarios para la 1ª revisión de la aplicación, o puede crear una nueva revisión de la aplicación. |