Rychlý start: Sestavování a nasazování aplikací do Azure Spring Apps
Poznámka:
Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.
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 Správa 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 ..."
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro