Rychlý start: Sestavování a nasazování aplikací do Azure Spring Apps
Poznámka:
Plány Basic, Standard a Enterprise budou od poloviny března 2025 vyřazeny ze 3letého období vyřazení. Doporučujeme přejít na Azure Container Apps. Další informace najdete v oznámení o vyřazení Azure Spring Apps.
Od 30. září 2024 bude od 30. září 2024 zastaralý plán s úplným vypnutím po šesti měsících. Doporučujeme přejít na Azure Container Apps. Další informace najdete v tématu Migrace spotřeby Azure Spring Apps Úrovně Standard a vyhrazeného plánu do Azure Container Apps.
Tento článek se vztahuje na:✅ Basic/Standard ❎ Enterprise
Tento rychlý start vysvětluje, jak sestavovat a nasazovat aplikace Spring do Azure Spring Apps pomocí Azure CLI.
Požadavky
- Dokončení předchozích rychlých startů v této řadě:
- Zřízení instance služby Azure Spring Apps
- Nastavte konfigurační server Azure Spring Apps.
Stažení ukázkové aplikace
Ukázkovou aplikaci si můžete stáhnout pomocí následujícího postupu. Pokud používáte Azure Cloud Shell, přepněte na místní příkazový řádek.
Vytvořte novou složku a naklonujte úložiště ukázkové aplikace.
mkdir source-code
cd source-code
git clone https://github.com/Azure-Samples/azure-spring-apps-samples
Přejděte do adresáře úložiště.
cd azure-spring-apps-samples
Nasazení PlanetWeatherProvider
Pomocí následujícího postupu nasaďte projekt PlanetWeatherProvider.
Vytvořte aplikaci pro
PlanetWeatherProvider
projekt v instanci Azure Spring Apps.az spring app create --name planet-weather-provider --runtime-version NetCore_31
Pokud chcete povolit automatickou registraci služby, zadali jste aplikaci stejný název jako hodnota
spring.application.name
v souboru appsettings.json projektu:"spring": { "application": { "name": "planet-weather-provider" } }
Spuštění tohoto příkazu může trvat několik minut.
Změňte adresář na
PlanetWeatherProvider
složku projektu.cd steeltoe-sample/src/planet-weather-provider
Vytvořte binární soubory a soubor .zip , který se má nasadit.
dotnet publish -c release -o ./publish
Tip
Soubor projektu obsahuje následující kód XML pro zabalení binárních souborů do souboru .zip po zápisu do složky ./publish :
<Target Name="Publish-Zip" AfterTargets="Publish"> <ZipDirectory SourceDirectory="$(PublishDir)" DestinationFile="$(MSBuildProjectDirectory)/publish-deploy-planet.zip" Overwrite="true" /> </Target>
Nasaďte projekt do Azure.
Před spuštěním následujícího příkazu se ujistěte, že je příkazový řádek ve složce projektu.
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.zip
Možnost
--main-entry
určuje relativní cestu z kořenové složky .zip souboru do .dll souboru, který obsahuje vstupní bod aplikace. Jakmile služba nahraje .zip soubor, extrahuje všechny soubory a složky a pak se pokusí spustit vstupní bod v zadaném souboru .dll .Spuštění tohoto příkazu může trvat několik minut.
Nasazení systému SolarSystemWeather
Pomocí následujících kroků nasaďte projekt SolarSystemWeather.
Vytvořte pro projekt jinou aplikaci v instanci Azure Spring Apps.
az spring app create --name solar-system-weather --runtime-version NetCore_31
solar-system-weather
je název zadaný vSolarSystemWeather
souboru appsettings.json projektu.Spuštění tohoto příkazu může trvat několik minut.
Změňte adresář na
SolarSystemWeather
projekt.cd ../solar-system-weather
Vytvořte binární soubory a .zip soubor, který se má nasadit.
dotnet publish -c release -o ./publish
Nasaďte projekt do 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.zip
Spuštění tohoto příkazu může trvat několik minut.
Přiřazení veřejného koncového bodu
Před testováním aplikace získejte veřejný koncový bod pro požadavek HTTP GET do solar-system-weather
aplikace.
Spuštěním následujícího příkazu přiřaďte koncový bod.
az spring app update --name solar-system-weather --assign-endpoint true
Spuštěním následujícího příkazu získejte adresu URL koncového bodu.
Windows:
az spring app show --name solar-system-weather --output table
Linux:
az spring app show --name solar-system-weather | grep url
Testování aplikace
Pokud chcete aplikaci otestovat, odešlete do solar-system-weather
aplikace požadavek GET. V prohlížeči přejděte na veřejnou adresu URL s /weatherforecast
připojenou adresou URL. Příklad: https://servicename-solar-system-weather.azuremicroservices.io/weatherforecast
Výstup je JSON:
[{"Key":"Mercury","Value":"very warm"},{"Key":"Venus","Value":"quite unpleasant"},{"Key":"Mars","Value":"very cool"},{"Key":"Saturn","Value":"a little bit sandy"}]
Tato odpověď ukazuje, že obě aplikace Spring fungují. Aplikace SolarSystemWeather
vrátí data, která načetla z PlanetWeatherProvider
aplikace.
Tento článek vysvětluje, jak se vytvářejí a nasazují aplikace Spring do Azure Spring Apps. Můžete použít Azure CLI, modul plug-in Maven nebo Intellij. Tento článek popisuje každou alternativu.
Požadavky
- Dokončení předchozích rychlých startů v této řadě:
- Zřízení instance služby Azure Spring Apps
- Nastavte konfigurační server Azure Spring Apps.
- JDK 17
- Maven 3.0 nebo vyšší
- Předplatné Azure. Pokud předplatné nemáte, vytvořte si před zahájením bezplatný účet .
- Volitelně můžete azure CLI verze 2.45.0 nebo vyšší. Nainstalujte rozšíření Azure Spring Apps pomocí následujícího příkazu:
az extension add --name spring
- Volitelně můžete sadu Azure Toolkit for IntelliJ.
Místní sestavování aplikací Spring
Pomocí následujících příkazů naklonujte ukázkové úložiště, přejděte do ukázkové složky a pak sestavte projekt.
git clone https://github.com/azure-samples/spring-petclinic-microservices
cd spring-petclinic-microservices
mvn clean package -DskipTests -Denv=cloud
Kompilace projektu trvá 5 až 10 minut. Při kompilaci projektu byste měli mít jednotlivé soubory JAR pro každou službu v příslušných složkách.
Vytváření a nasazování aplikací v Azure Spring Apps
Pomocí následujícího postupu vytvořte a nasadíte aplikace v Azure Spring Apps pomocí rozhraní příkazového řádku.
Pokud jste v předchozích rychlých startech nespusili následující příkazy, spusťte je a nastavte výchozí hodnoty rozhraní příkazového řádku.
az configure --defaults group=<resource-group-name> spring=<service-name>
Vytvořte dvě základní aplikace Spring pro PetClinic:
api-gateway
acustomers-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 2Gi
Nasaďte soubory JAR vytvořené v předchozím kroku.
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"
Po nasazení zadejte dotaz na stav aplikace pomocí následujícího příkazu.
az spring app list --output table
Tento příkaz vytvoří výstup podobný následujícímu příkladu:
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 -
Ověření služeb
Přístup k api-gateway
customers-service
prohlížeči s veřejnou adresou URL zobrazenou dříve ve formátu https://<service name>-api-gateway.azuremicroservices.io
.
Tip
Při řešení potíží s nasazením můžete pomocí následujícího příkazu získat streamování protokolů v reálném čase při každém spuštění az spring app logs --name <app name> --follow
aplikace.
Nasazení dalších aplikací
Pokud chcete, aby aplikace PetClinic fungovala se všemi funkcemi, jako je admin server, návštěvy a veterinární lékaři, nasaďte ostatní aplikace pomocí následujících příkazů:
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"
Vyčištění prostředků
Pokud chcete pokračovat v práci s dalšími rychlými starty a kurzy, můžete tyto prostředky ponechat na místě. Pokud už ji nepotřebujete, odstraňte skupinu prostředků, která odstraní prostředky ve skupině prostředků. Pokud chcete odstranit skupinu prostředků pomocí Azure CLI, použijte následující příkazy:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."