Implementación en App Service

Completado

Cada equipo de desarrollo tiene requisitos únicos que pueden dificultar la implementación de una canalización de implementación eficaz en cualquier servicio en la nube. App Service admite la implementación automatizada y manual.

Implementación automatizada

La implementación automatizada, o la implementación continua, es un proceso que se usa para insertar nuevas características y correcciones de errores en un patrón repetitivo y rápido con un efecto mínimo en los usuarios finales.

Azure admite la implementación automatizada directamente desde varios orígenes. Están disponibles las opciones siguientes:

  • Azure DevOps Services: puede insertar el código en Azure DevOps Services, compilarlo en la nube, ejecutar las pruebas, generar una versión a partir del código y, por último, insertar el código en una aplicación web de Azure.
  • GitHub: Azure admite la implementación automatizada directamente desde GitHub. Al conectar el repositorio de GitHub a Azure para la implementación automatizada, los cambios que se insertan en la rama de producción en GitHub se implementan automáticamente.
  • Bitbucket: con sus similitudes con GitHub, puede configurar una implementación automatizada con Bitbucket.

Implementación manual

Hay algunas opciones que puede usar para insertar el código en Azure de forma manual:

  • Git: App Service Web Apps incluyen una dirección URL de Git que se puede agregar como repositorio remoto. Al insertar en el repositorio remoto, se implementa la aplicación.
  • CLI: webapp up es una característica de la interfaz de la línea de comandos az que empaqueta la aplicación y la implementa. A diferencia de otros métodos de implementación, az webapp up puede crear una aplicación web de App Service de forma automática si todavía no ha creado una.
  • Implementación desde un archivo Zip: use curl o una utilidad HTTP similar para enviar un archivo ZIP de los archivos de la aplicación a App Service.
  • FTP/S: FTP o FTPS es una manera tradicional de insertar el código en muchos entornos de hospedaje, incluido App Service.

Uso de ranuras de implementación

Siempre que sea posible, use ranuras de implementación al implementar una nueva compilación de producción. Cuando se usa un nivel de plan de App Service Estándar o superior, puede implementar la aplicación en un entorno de ensayo y, a continuación, intercambiar los espacios de ensayo y producción. La operación de intercambio prepara las instancias de trabajo necesarias para que coincidan con la escala de producción, lo que elimina el tiempo de inactividad.

Código de implementación continua

Si el proyecto tiene ramas designadas para pruebas, control de calidad y ensayo, cada una de esas ramas debe implementarse continuamente en un espacio de ensayo. De esta manera, las partes interesadas pueden evaluar y probar fácilmente la rama implementada.

Contenedores de implementación continua

Para contenedores personalizados de Azure Container Registry u otros registros de contenedor, implemente la imagen en un espacio de ensayo y cámbielo a producción para evitar tiempos de inactividad. La automatización es más compleja que la implementación de código porque debe introducir la imagen en un registro de contenedor y actualizar la etiqueta de imagen en la aplicación web.

  • Compilar y etiquetar la imagen: Como parte de la canalización de compilación, etiquete la imagen con el identificador de confirmación de Git, la marca de tiempo u otra información de identificación. Es mejor no usar la etiqueta predeterminada "latest". De lo contrario, es difícil realizar un seguimiento del código que se implementa actualmente, lo que dificulta mucho más la depuración.
  • Insertar la imagen etiquetada: Una vez que la imagen se compila y etiqueta, la canalización la envía a nuestro registro de contenedor. En el paso siguiente, el espacio de implementación extraerá la imagen etiquetada del registro de contenedor.
  • Actualizar el espacio de implementación con la nueva etiqueta de imagen: Cuando se actualice esta propiedad, el sitio se reiniciará automáticamente y se extraerá la nueva imagen de contenedor.