Ejercicio: Implementación del código en App Service

Completado

En esta unidad, se implementará la aplicación web en App Service.

Implementación con implementación desde un archivo ZIP

A continuación se implementará la aplicación .NET con la implementación desde un archivo ZIP.

Primero, use dotnet publish para compilar los archivos finales de la aplicación y zip para empaquetarlos en un archivo ZIP:

cd ~/BestBikeApp
dotnet publish -o pub
cd pub
zip -r site.zip *

Por último, lleve a cabo la implementación con az webapp deployment source config-zip. Reemplace <your-app-name> en el comando siguiente con el nombre de la aplicación web de Azure y ejecútela:

az webapp deployment source config-zip \
    --src site.zip \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name <your-app-name>

La implementación tardará unos minutos, periodo durante el que obtendrá la salida de estado. Un código de estado 202 significa que la implementación se ha realizado correctamente.

Comprobación de la implementación

Ahora se examinará la aplicación. Vuelva a la pestaña abierta del explorador que contiene la página marcadora de posición y actualícela. Si la página marcadora de posición vuelve a aparecer, significa que la instancia de App Service todavía no se ha reiniciado completamente. Espere un momento y vuelva a intentarlo. Cuando actualice la página después de que la aplicación se haya reiniciado, obtendrá la página de presentación de una nueva aplicación web de ASP.NET Core.

Screenshot of welcome page.

Ha hospedado correctamente la nueva aplicación ASP.NET Core en App Service.

Configuración de las credenciales de implementación

Algunas técnicas de implementación de App Service, incluida la que se va a usar aquí, necesitan un nombre de usuario y una contraseña que son independientes de las credenciales de Azure. Todas las aplicaciones web están preconfiguradas con un nombre de usuario y una contraseña propios que se pueden restablecer en un nuevo valor aleatorio, pero que no se pueden cambiar por algo que elija.

En lugar de buscar esos valores aleatorios para cada una de las aplicaciones, puede usar una característica de App Service denominada Credenciales de implementación de usuario para crear un nombre de usuario y una contraseña propios. Los valores que elija funcionarán para las implementaciones de todas las aplicaciones web de App Service para las que tenga permisos, incluidas las que cree en el futuro. El nombre de usuario y la contraseña que seleccione están asociados a las credenciales de Azure y pensados únicamente para uso personal, por lo que no debe compartirlos con otros usuarios. Puede cambiar el nombre de usuario y la contraseña en cualquier momento.

La manera más fácil de crear las credenciales de implementación es desde la CLI de Azure.

  1. Ejecute el comando siguiente en Cloud Shell para establecer las credenciales de implementación, y sustituya <username> y <password> con los valores que elija:

    az webapp deployment user set --user-name <username> --password <password>
    

Implementación del paquete de aplicación de Java con WAR deploy

A continuación se implementará la aplicación de Java con la implementación desde un archivo WAR. La implementación WAR forma parte de la API REST de Kudu, una interfaz de servicio administrativa disponible en todas las aplicaciones web de App Service, a la que se puede acceder desde HTTP. La manera más sencilla de usar la implementación desde un archivo WAR es con la utilidad curl de HTTP desde la línea de comandos.

Ejecute los comandos siguientes para implementar la aplicación web Java con WAR deploy. Reemplace <username> y <password> con el nombre de usuario y contraseña del usuario de implementación que creó anteriormente y reemplace <your-app-name> con el nombre de la aplicación web que creó en Azure Portal.

cd ~/helloworld/target
curl -v -X POST -u <username>:<password> https://<your-app-name>.scm.azurewebsites.net/api/wardeploy --data-binary @helloworld.war

Cuando finalice la ejecución del comando, abra una nueva pestaña del explorador y vaya a https://<your-app-name>.azurewebsites.net. Obtendrá el mensaje de saludo de la aplicación. Se ha implementado correctamente.

Implementación con az webapp up

A continuación se implementará la aplicación Node.js con az webapp up. Este comando empaquetará la aplicación y la enviará a la instancia de App Service, donde se compilará e implementará.

En primer lugar, es necesario recopilar información sobre el recurso de aplicación web. Ejecute los comandos siguientes para establecer las variables de shell que contienen el nombre de la aplicación, del grupo de recursos y del plan, la SKU y la ubicación. En cada uno se usan otros comandos de az para solicitar la información de Azure; az webapp up necesita estos valores para dirigirse a la aplicación web existente.

export APPNAME=$(az webapp list --query [0].name --output tsv)
export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)
export APPPLAN=$(az appservice plan list --query [0].name --output tsv)
export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)
export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)

Ahora, ejecute az webapp up con los valores adecuados. Asegúrese de que está en el directorio helloworld antes de ejecutar este comando.

az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --location "$APPLOCATION"

La implementación tardará unos minutos en propagarse. Podrá ver el progreso en la salida de estado. Un código de estado 202 significa que la implementación se ha realizado correctamente.

Comprobación de la implementación

Ahora se examinará la aplicación. La última línea de salida de az webapp up, antes del bloque de código JSON, tiene un vínculo a la aplicación. Selecciónelo para ir hasta allí en una nueva pestaña del explorador. La página tardará un momento en cargarse, ya que es la primera vez que App Service inicializa la aplicación.

Cuando se cargue, obtendrá el mensaje de saludo de la aplicación. Se ha implementado correctamente.

Screenshot of welcome page.

Implementación con az webapp up

A continuación se implementará la aplicación Python con az webapp up. Este comando empaquetará la aplicación y la enviará a la instancia de App Service, donde se compilará e implementará.

En primer lugar, es necesario recopilar información sobre el recurso de aplicación web. Ejecute estos comandos para establecer las variables de shell que contienen el nombre de la aplicación, el nombre del grupo de recursos, el nombre del plan, la SKU y la ubicación. Usan otros comandos de az para solicitar la información de Azure; az webapp up necesita estos valores para dirigirse a la aplicación web existente.

export APPNAME=$(az webapp list --query [0].name --output tsv)
export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)
export APPPLAN=$(az appservice plan list --query [0].name --output tsv)
export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)
export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)

Ahora, ejecute az webapp up con los valores adecuados. Asegúrese de que está en el directorio BestBikeApp antes de ejecutar este comando.

cd ~/BestBikeApp
az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --location "$APPLOCATION"

La implementación tardará unos minutos, periodo durante el que obtendrá la salida de estado.

Comprobación de la implementación

Ahora se examinará la aplicación. En el resultado, justo antes del bloque de código JSON, hay una línea con una dirección URL. Seleccione ese vínculo para abrir la aplicación en una nueva pestaña del explorador. La página puede tardar un momento en cargarse porque es la primera vez que App Service inicializa la aplicación.

Una vez que se cargue el programa, obtendrá el mensaje de saludo de la aplicación. Se ha implementado correctamente.

Screenshot of Python's welcome page showing Hello Best Bike App!