Intercambio de ranuras de implementación

Completado

Las ranuras de implementación se pueden intercambiar en las páginas Ranuras de implementación e Información general de la aplicación. Antes de intercambiar una aplicación de una ranura de implementación a producción, asegúrese de la de producción es la ranura de destino y de que todas las configuraciones de la ranura de origen son exactamente como las quiere en producción.

Intercambio manual de ranuras de implementación

Para intercambiar ranuras de implementación:

  1. Vaya a la página Ranuras de implementación y seleccione Intercambiar. El cuadro de diálogo Intercambiar muestra la configuración de la ranura de origen y de destino seleccionadas que se van a cambiar.

  2. Seleccione los espacios Origen y Destino. Por lo general, el destino suele ser el espacio de producción. Además, seleccione las pestañas Cambios de origen y Cambios de destino, y compruebe que los cambios en la configuración son los esperados. En cuanto termine, puede intercambiar los espacios. Para ello solo debe seleccionar Intercambiar.

    Para ver cómo se ejecutaría la ranura de destino con la nueva configuración antes de que el intercambio se produzca de verdad, no seleccione Intercambiar, pero siga las instrucciones en Intercambio con vista previa a continuación.

  3. Cuando haya terminado, seleccione Cerrar para cerrar el cuadro de diálogo.

Intercambio con vista previa (intercambio en varias fases)

Antes de cambiar a producción como ranura de destino, valide que la aplicación se ejecute con la configuración intercambiada. La ranura de origen también se ha preparado antes de que finalice el intercambio, algo que es conveniente para las aplicaciones críticas.

Al realizarse un intercambio con vista previa, App Service realiza el mismo intercambio, pero se detiene tras el primer paso. En ese momento puede comprobar el resultado en la ranura de ensayo antes de completar el intercambio.

Si cancela el intercambio, App Service vuelve a aplicar los elementos de configuración en la ranura de origen.

Para realizar el intercambio con vista previa:

  1. Siga los pasos anteriores en Intercambio de ranuras de implementación, pero seleccione la casilla Realizar intercambio con vista previa. El cuadro de diálogo muestra cómo cambia la configuración de la ranura de origen en la fase 1 y cómo cambian tanto la ranura de origen como la de destino en la fase 2.

  2. Cuando esté listo para iniciar el intercambio, seleccione Iniciar intercambio.

    Cuando se complete la fase 1, se le notificará en el cuadro de diálogo. Vaya a https://<app_name>-<source-slot-name>.azurewebsites.net para obtener una vista previa del intercambio en la ranura de origen.

  3. Cuando esté listo para completar el intercambio pendiente, seleccione Completar intercambio en Acción de intercambio y seleccioneCompletar intercambio.

    Para cancelar un intercambio pendiente, seleccione Cancelar intercambio en su lugar.

  4. Cuando haya terminado, seleccione Cerrar para cerrar el cuadro de diálogo.

Configuración del intercambio automático

El intercambio automático optimiza los escenarios de Azure DevOps Services en los que se quiera implementar una aplicación continuamente sin arranques en frío ni tiempos de inactividad para los clientes de la aplicación. Cuando se habilita el intercambio automático para una ranura a producción, cada vez que se insertan los cambios de código en esa ranura, App Service cambia automáticamente la aplicación a producción después de que se haya preparado en la de origen.

Nota:

El intercambio automático no se admite en aplicaciones web en Linux y Web App for Containers.

Para configurar el intercambio automático:

  1. Vaya a la página de recursos de la aplicación y seleccione la ranura de implementación que desea configurar para realizar el intercambio automático. El valor está en la página Configuración > Configuración general.

  2. Establezca Intercambio automático habilitado en Activado. A continuación, seleccione la ranura de destino deseada como Ranura de implementación de intercambio automático y seleccione Guardar en la barra de comandos.

  3. Ejecute una inserción de código en el espacio de origen. El intercambio automático se realiza al poco tiempo y la actualización se refleja en la dirección URL de la ranura de destino.

Especificación de Preparación personalizada

Algunas aplicaciones pueden requerir acciones de preparación personalizadas para el intercambio. El elemento de configuración applicationInitialization de web.config permite especificar acciones de inicialización personalizadas. El intercambio espera hasta que se completa esta preparación personalizada para realizar el intercambio con la ranura de destino. He aquí un fragmento de ejemplo del archivo web.config.

<system.webServer>
    <applicationInitialization>
        <add initializationPage="/" hostName="[app hostname]" />
        <add initializationPage="/Home/About" hostName="[app hostname]" />
    </applicationInitialization>
</system.webServer>

Para más información sobre la personalización del elemento applicationInitialization, consulte Most common deployment slot swap failures and how to fix them (Errores de intercambio de ranuras de implementación más comunes y soluciones).

También puede personalizar el comportamiento de la preparación con una o ambas de las siguientes opciones de configuración de la aplicación:

  • WEBSITE_SWAP_WARMUP_PING_PATH: ruta de acceso para hacer ping y así preparar el sitio. Agregue esta configuración de aplicación especificando una ruta de acceso personalizada que comience con una barra diagonal como valor. Un ejemplo es /statuscheck. El valor predeterminado es /.
  • WEBSITE_SWAP_WARMUP_PING_STATUSES: códigos de respuesta HTTP válidos para la operación de preparación. Agregue esta configuración de aplicación con una lista de códigos HTTP separados por comas. Un ejemplo sería 200,202. Si el código de estado devuelto no está en la lista, las operaciones de preparación e intercambio se detienen. Por defecto, todos los códigos de respuesta son válidos.
  • WEBSITE_WARMUP_PATH: una ruta de acceso relativa en el sitio al que se debe hacer ping cada vez que se reinicie (no solo durante los intercambios de ranura). Los valores del ejemplo incluyen /statuscheck o la ruta de acceso raíz, /.

Reversión y supervisión de un intercambio

Si aparecen errores en el espacio de destino (por ejemplo, el espacio de producción) después de un intercambio de espacios, restaure los espacios al estado que tenían antes del intercambio. Para ello, vuelva a intercambiarlos de inmediato.

Si el intercambio tarda mucho tiempo en completarse, puede obtener información sobre su estado en el registro de actividad.

  1. En la página de recursos de la aplicación del portal, en el panel izquierdo, seleccione Registro de actividad.

  2. Una operación de intercambio aparece en la consulta de registro como Swap Web App Slots. Puede expandirla y seleccionar una de los suboperaciones o errores para ver los detalles.