Övning – Distribuera Spring Boot Redis-programmet till Azure
Nu när allt körs lokalt kan du distribuera programmet till molnet och testa dess beteende i produktion.
Skapa en Azure App Service-instans
Skapa en Azure App Service-instans som värd för ditt program. Använd följande Azure CLI-kod för att skapa en grundläggande App Service-plan som använder Linux och sedan lägga till en instans av Java på App Service i den planen.
Om du vill använda Java 11 eller Java 17 i stället för Java 8 använder du "JAVA|<version>-java<version>"
i stället för "JAVA|8-jre8"
som webbprogramkörning.
az appservice plan create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp-plan \
--is-linux \
--sku B1
az webapp create \
--resource-group $AZ_RESOURCE_GROUP \
--name $AZ_REDIS_NAME-webapp \
--runtime "JAVA|8-jre8" \
--plan $AZ_REDIS_NAME-webapp-plan
Anteckning
Föregående kod återanvänder variabeln $AZ_REDIS_NAME
för att namnge App Service-planen och App Service-instansen, men du kan använda olika namn. App Service-instansnamnet är en del av URL:en, som måste vara unik i Hela Azure.
Du kan göra nästa steg när distributionen är klar.
Distribuera Spring Boot-programmet till Azure App Service
I projektets pom.xml-fil lägger du till följande nya plugin-program i avsnittet
<plugins>
:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.11.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>${env.AZ_RESOURCE_GROUP}</resourceGroup> <appName>${env.AZ_REDIS_NAME}-webapp</appName> <deployment> <resources> <resource> <directory>${project.basedir}/target</directory> <includes> <include>*.jar</include> </includes> </resource> </resources> </deployment> </configuration> </plugin>
Anteckning
I den föregående konfigurationen används de miljövariabler som du konfigurerade tidigare. För att den här konfigurationen ska fungera kontrollerar du att dina
$AZ_RESOURCE_GROUP
- och$AZ_REDIS_NAME
variabler är korrekt konfigurerade.När App Service-distributionen är klar kör du följande kommando för att paketera ditt program och distribuera det till Azure:
./mvnw package azure-webapp:deploy
När distributionen har slutförts returneras följande rad:
Successfully deployed the artifact to https://<redisName>-webapp.azurewebsites.net
Observera URL:en för ditt program som körs, som du ser i föregående utdata, som ska användas i nästa avsnitt.
Testa programmet i Azure
Använd din program-URL för att köra samma klient-URL-kommandon (cURL) i molnet som du använde på den lokala servern.
Om du vill lägga till ett dataobjekt kör du följande kommando:
curl -d '{"description":"another description", "details":"some more details"}' -H "Content-Type: application/json" -X POST https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Hämta data genom att köra:
curl https://$AZ_REDIS_NAME-webapp.azurewebsites.net
Om du vill öka sessionen kör du följande kommando flera gånger:
curl -b cookie.txt -c cookie.txt https://$AZ_REDIS_NAME-webapp.azurewebsites.net/session
Din lokala server och molntjänst använder samma Redis-instans, så de är i ett kluster. Data som du skriver i en instans är tillgängliga i den andra instansen. Molntjänsten kan skala ut genom att lägga till fler noder som alla använder samma Redis-instans för att lagra både affärsdata och sessionsdata.