Implementación en App Service
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 App Service admite la implementación automatizada desde varios sistemas de control de código fuente como parte de una canalización de integración e implementación continuas (CI/CD). Están disponibles las opciones siguientes:
- Azure DevOps Services: puede insertar el código en Azure DevOps Services, compilar el código en la nube, ejecutar las pruebas, generar una versión 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: Se admite Bitbucket, aunque GitHub y Azure DevOps se usan con más frecuencia y se integran mejor.
Implementación manual
Hay algunas opciones que puede usar para insertar el código en Azure de forma manual:
- Git: las aplicaciones web de App Service incluyen una dirección URL de Git que puede agregar como repositorio remoto. Al insertar en el repositorio remoto, se implementa la aplicación.
-
CLI:
az webapp upes una característica de laazinterfaz de línea de comandos que empaqueta la aplicación e la implementa. A diferencia de otros métodos de implementación,az webapp uppuede crear una nueva aplicación web de App Service automáticamente. -
Zip deploy: Use
curlo una utilidad HTTP similar para enviar un archivo ZIP con 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.
Nota:
App Service usa Kudu para implementaciones basadas en Git y zip. Kudu controla los desencadenadores de implementación y sincronización de archivos.
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 designa ramas para pruebas, control de calidad y almacenamiento provisional, cada una de esas ramas debe implementarse continuamente en un espacio de ensayo. Esto permite a las partes interesadas acceder 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 identificable. 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.
- Inserción de la imagen etiquetada: una vez creada y etiquetada la imagen, la canalización inserta la imagen en el registro de contenedor. En el paso siguiente, el espacio de implementación extraerá la imagen etiquetada del registro de contenedor.
- Actualice la ranura de implementación con la nueva etiqueta de imagen: cuando se actualiza esta propiedad, el sitio se reinicia automáticamente y extrae la nueva imagen de contenedor.
Contenedores sidecar
En Azure App Service, puede agregar hasta nueve contenedores sidecar para cada aplicación de contenedor personalizada habilitada para sidecar. Los contenedores sidecar son compatibles con aplicaciones de contenedor personalizadas basadas en Linux y permiten la implementación de servicios y características adicionales sin que estén estrechamente acoplados al contenedor de aplicaciones principal. Por ejemplo, puede agregar servicios de supervisión, registro, configuración y redes como contenedores sidecar.
Puede agregar un contenedor sidecar a través del centro de implementación de en la página de administración de la aplicación.