Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommentar
Planerna Basic, Standardoch Enterprise gick in i en pensionsperiod den 17 mars 2025. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Den här artikeln gäller för:✅ Basic/Standard ❎ Enterprise
Den här snabbstarten förklarar hur du skapar och distribuerar Spring-program till Azure Spring Apps med hjälp av Azure CLI.
Förutsättningar
- Slutförande av tidigare snabbstarter i den här serien:
Ladda ned exempelprogrammet
Använd följande steg för att ladda ned exempelappen. Om du har använt Azure Cloud Shell växlar du till en lokal kommandotolk.
Skapa en ny mapp och klona exempelapplagringsplatsen.
mkdir source-codecd source-codegit clone https://github.com/Azure-Samples/azure-spring-apps-samplesGå till lagringsplatsens katalog.
cd azure-spring-apps-samples
Distribuera PlanetWeatherProvider
Använd följande steg för att distribuera PlanetWeatherProvider-projektet.
Skapa en app för
PlanetWeatherProviderprojektet i din Azure Spring Apps-instans.az spring app create --name planet-weather-provider --runtime-version NetCore_31Om du vill aktivera automatisk tjänstregistrering har du gett appen samma namn som värdet
spring.application.nameför i projektets appsettings.json-fil :"spring": { "application": { "name": "planet-weather-provider" } }Det kan ta flera minuter att köra det här kommandot.
Ändra katalogen till projektmappen PlanetWeatherProvider .
cd steeltoe-sample/src/planet-weather-providerSkapa binärfilerna och .zip-filen som ska distribueras.
dotnet publish -c release -o ./publishTips
Projektfilen innehåller följande XML för att paketera binärfilerna i en .zip fil när du har skrivit dem till mappen ./publish :
<Target Name="Publish-Zip" AfterTargets="Publish"> <ZipDirectory SourceDirectory="$(PublishDir)" DestinationFile="$(MSBuildProjectDirectory)/publish-deploy-planet.zip" Overwrite="true" /> </Target>Distribuera projektet till Azure.
Kontrollera att kommandotolken finns i projektmappen innan du kör följande kommando.
az spring app deploy \ --name planet-weather-provider \ --runtime-version NetCore_31 \ --main-entry Microsoft.Azure.SpringCloud.Sample.PlanetWeatherProvider.dll \ --artifact-path ./publish-deploy-planet.zipAlternativet
--main-entryanger den relativa sökvägen från .zip-filens rotmapp till den .dll fil som innehåller programmets startpunkt. När tjänsten har laddat upp .zip-filen extraherar den alla filer och mappar och försöker sedan köra startpunkten i den angivna .dll filen.Det kan ta flera minuter att köra det här kommandot.
Distribuera SolarSystemWeather
Använd följande steg för att distribuera Projektet SolarSystemWeather.
Skapa en annan app i din Azure Spring Apps-instans för projektet.
az spring app create --name solar-system-weather --runtime-version NetCore_31solar-system-weatherär namnet som anges iSolarSystemWeatherprojektets appsettings.json-fil .Det kan ta flera minuter att köra det här kommandot.
Ändra katalogen till
SolarSystemWeatherprojektet.cd ../solar-system-weatherSkapa binärfiler och .zip fil som ska distribueras.
dotnet publish -c release -o ./publishDistribuera projektet till Azure.
az spring app deploy \ --name solar-system-weather \ --runtime-version NetCore_31 \ --main-entry Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.dll \ --artifact-path ./publish-deploy-solar.zipDet kan ta flera minuter att köra det här kommandot.
Tilldela offentlig slutpunkt
Innan du testar programmet, skaffar du en offentlig slutpunkt för en HTTP GET-begäran till solar-system-weather-programmet.
Kör följande kommando för att tilldela slutpunkten.
az spring app update --name solar-system-weather --assign-endpoint trueKör följande kommando för att hämta slutpunktens URL.
Windows:
az spring app show --name solar-system-weather --output tableLinux:
az spring app show --name solar-system-weather | grep url
Testa programmet
Om du vill testa programmet skickar du en GET-begäran till solar-system-weather appen. I en webbläsare navigerar du till den offentliga URL:en med /weatherforecast bifogad. Till exempel: https://servicename-solar-system-weather.azuremicroservices.io/weatherforecast
Utdata är JSON:
[{"Key":"Mercury","Value":"very warm"},{"Key":"Venus","Value":"quite unpleasant"},{"Key":"Mars","Value":"very cool"},{"Key":"Saturn","Value":"a little bit sandy"}]
Det här svaret visar att båda Spring-apparna fungerar. Appen SolarSystemWeather returnerar data som den hämtade från PlanetWeatherProvider appen.
Den här artikeln beskriver hur du skapar och distribuerar Spring-program till Azure Spring Apps. Du kan använda Azure CLI, Plugin-programmet Maven eller IntelliJ. I den här artikeln beskrivs varje alternativ.
Förutsättningar
- Slutförande av tidigare snabbstarter i den här serien:
- JDK 17
- Maven 3.0 eller senare
- En prenumeration på Azure Om du inte har någon prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Du kan också använda Azure CLI version 2.45.0 eller senare. Installera Azure Spring Apps-tillägget med följande kommando:
az extension add --name spring - Alternativt, Azure Toolkit för IntelliJ.
Skapa Spring-programmen lokalt
Använd följande kommandon för att klona exempellagringsplatsen, navigera till exempelmappen och skapa sedan projektet.
git clone https://github.com/azure-samples/spring-petclinic-microservices
cd spring-petclinic-microservices
mvn clean package -DskipTests -Denv=cloud
Det tar 5–10 minuter att kompilera projektet. När projektet kompileras bör du ha enskilda JAR-filer för varje tjänst i respektive mappar.
Skapa och distribuera appar i Azure Spring Apps
Använd följande steg för att skapa och distribuera appar i Azure Spring Apps med hjälp av CLI.
Om du inte körde följande kommandon i föregående snabbstarter kör du dem nu för att ange CLI-standardvärdena.
az configure --defaults group=<resource-group-name> spring=<service-name>Skapa de två spring-kärnprogrammen för PetClinic:
api-gatewayochcustomers-service.az spring app create \ --name api-gateway \ --runtime-version Java_17 \ --instance-count 1 \ --memory 2Gi \ --assign-endpoint az spring app create \ --name customers-service \ --runtime-version Java_17 \ --instance-count 1 \ --memory 2GiDistribuera JAR-filerna som skapades i föregående steg.
az spring app deploy \ --name api-gateway \ --artifact-path spring-petclinic-api-gateway/target/api-gateway-3.0.1.jar \ --jvm-options="-Xms2048m -Xmx2048m" az spring app deploy \ --name customers-service \ --artifact-path spring-petclinic-customers-service/target/customers-service-3.0.1.jar \ --jvm-options="-Xms2048m -Xmx2048m"Fråga appens status efter distributioner med följande kommando.
az spring app list --output tableDet här kommandot genererar utdata som liknar följande exempel:
Name Location ResourceGroup Production Deployment Public Url Provisioning Status CPU Memory Running Instance Registered Instance Persistent Storage ----------------- ---------- --------------- ----------------------- --------------------------------------------------- --------------------- ----- -------- ------------------ --------------------- -------------------- api-gateway eastus xxxxxx-sp default https://<service name>-api-gateway.azuremicroservices.io Succeeded 1 2 1/1 1/1 - customers-service eastus <service name> default Succeeded 1 2 1/1 1/1 -
Verifiera tjänsterna
Åtkomma api-gateway och customers-service från en webbläsare med den offentliga URL:en som visades tidigare, i formatet https://<service name>-api-gateway.azuremicroservices.io.
Tips
Om du vill felsöka distributioner kan du använda följande kommando för att hämta loggströmning i realtid när appen kör az spring app logs --name <app name> --follow.
Installera extra appar
Om du vill att PetClinic-appen ska fungera med alla funktioner som adminserver, besök och veterinärer distribuerar du de andra apparna med följande kommandon:
az spring app create \
--name admin-server \
--runtime-version Java_17 \
--instance-count 1 \
--memory 2Gi \
--assign-endpoint
az spring app create \
--name vets-service \
--runtime-version Java_17 \
--instance-count 1 \
--memory 2Gi
az spring app create \
--name visits-service \
--runtime-version Java_17 \
--instance-count 1 \
--memory 2Gi
az spring app deploy \
--name admin-server \
--runtime-version Java_17 \
--artifact-path spring-petclinic-admin-server/target/admin-server-3.0.1.jar \
--jvm-options="-Xms1536m -Xmx1536m"
az spring app deploy \
--name vets-service \
--runtime-version Java_17 \
--artifact-path spring-petclinic-vets-service/target/vets-service-3.0.1.jar \
--jvm-options="-Xms1536m -Xmx1536m"
az spring app deploy \
--name visits-service \
--runtime-version Java_17 \
--artifact-path spring-petclinic-visits-service/target/visits-service-3.0.1.jar \
--jvm-options="-Xms1536m -Xmx1536m"
Rensa resurser
Om du planerar att fortsätta arbeta med efterföljande snabbstarter och självstudier kanske du vill lämna dessa resurser på plats. Ta bort resursgruppen när den inte längre behövs, vilket tar bort resurserna i resursgruppen. Om du vill ta bort resursgruppen med hjälp av Azure CLI använder du följande kommandon:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."