Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.
Bu makale şunlar için geçerlidir:✅ Temel/Standart ❎ Kurumsal
Bu hızlı başlangıçta, Azure CLI kullanarak Spring uygulamalarının nasıl derlenip Azure Spring Apps'e dağıtılacağı açıklanmaktadır.
Önkoşullar
- Bu serideki önceki hızlı başlangıçların tamamlanması:
Örnek uygulamayı indirme
Örnek uygulamayı indirmek için aşağıdaki adımları kullanın. Azure Cloud Shell kullanıyorsanız yerel komut istemine geçin.
Yeni bir klasör oluşturun ve örnek uygulama deposunu kopyalayın.
mkdir source-codecd source-codegit clone https://github.com/Azure-Samples/azure-spring-apps-samplesDepo dizinine gidin.
cd azure-spring-apps-samples
PlanetWeatherProvider'ı dağıtma
PlanetWeatherProvider projesini dağıtmak için aşağıdaki adımları kullanın.
Azure Spring Apps örneğinizde proje için
PlanetWeatherProviderbir uygulama oluşturun.az spring app create --name planet-weather-provider --runtime-version NetCore_31Otomatik hizmet kaydını etkinleştirmek için uygulamaya projenin
spring.application.namedosyasındaki değeriyle aynı adı verdiniz:"spring": { "application": { "name": "planet-weather-provider" } }Bu komutun çalıştırılması birkaç dakika sürebilir.
Dizini PlanetWeatherProvider proje klasörüne değiştirin.
cd steeltoe-sample/src/planet-weather-providerDağıtılacak ikili dosyaları ve .zip dosyasını oluşturun.
dotnet publish -c release -o ./publishİpucu
Proje dosyası, ikili dosyaları ./publish klasörüne yazdıktan sonra bir .zip dosyasında paketlemek için aşağıdaki XML'yi içerir:
<Target Name="Publish-Zip" AfterTargets="Publish"> <ZipDirectory SourceDirectory="$(PublishDir)" DestinationFile="$(MSBuildProjectDirectory)/publish-deploy-planet.zip" Overwrite="true" /> </Target>Projeyi Azure'a dağıtma.
Aşağıdaki komutu çalıştırmadan önce komut isteminin proje klasöründe olduğundan emin olun.
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.zipseçeneği,
--main-entry.zip dosyasının kök klasöründen uygulamanın giriş noktasını içeren .dll dosyasına göreli yolu belirtir. Hizmet .zip dosyasını yükledikten sonra tüm dosyaları ve klasörleri çıkarır ve ardından belirtilen .dll dosyasındaki giriş noktasını yürütmeyi dener.Bu komutun çalıştırılması birkaç dakika sürebilir.
SolarSystemWeather'ı dağıtma
SolarSystemWeather projesini dağıtmak için aşağıdaki adımları kullanın.
Proje için Azure Spring Apps örneğinizde başka bir uygulama oluşturun.
az spring app create --name solar-system-weather --runtime-version NetCore_31solar-system-weather, projeninSolarSystemWeatherdosyasında belirtilen addır.Bu komutun çalıştırılması birkaç dakika sürebilir.
Dizini projeye değiştirin
SolarSystemWeather.cd ../solar-system-weatherDağıtılacak ikili dosyaları ve .zip dosyasını oluşturun.
dotnet publish -c release -o ./publishProjeyi Azure'a dağıtma.
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.zipBu komutun çalıştırılması birkaç dakika sürebilir.
Genel uç noktası ata
Uygulamayı test etmeden önce, uygulamaya http GET isteği solar-system-weather için genel uç nokta alın.
Uç noktayı atamak için aşağıdaki komutu çalıştırın.
az spring app update --name solar-system-weather --assign-endpoint trueUç noktanın URL'sini almak için aşağıdaki komutu çalıştırın.
Windows:
az spring app show --name solar-system-weather --output tableLinux:
az spring app show --name solar-system-weather | grep url
Uygulamayı test etme
Uygulamayı test etmek için uygulamaya bir GET isteği solar-system-weather gönderin. Tarayıcıda, sonuna /weatherforecast eklenmiş genel URL'ye doğru gidin. Örneğin: https://servicename-solar-system-weather.azuremicroservices.io/weatherforecast
Çıkış JSON'dir:
[{"Key":"Mercury","Value":"very warm"},{"Key":"Venus","Value":"quite unpleasant"},{"Key":"Mars","Value":"very cool"},{"Key":"Saturn","Value":"a little bit sandy"}]
Bu yanıt, her iki Spring uygulaması da çalıştığını gösterir. Uygulama, SolarSystemWeather uygulamadan PlanetWeatherProvider alınan verileri döndürür.
Bu makalede Spring uygulamalarının nasıl derlenip Azure Spring Apps'e dağıtılacağı açıklanmaktadır. Azure CLI, Maven eklentisi veya IntelliJ kullanabilirsiniz. Bu makalede her alternatif açıklanmaktadır.
Önkoşullar
- Bu serideki önceki hızlı başlangıçların tamamlanması:
- JDK 17
- Maven 3.0 veya üzeri
- Azure aboneliği. Aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- İsteğe bağlı olarak, Azure CLI sürüm 2.45.0 veya üzeri. Aşağıdaki komutla Azure Spring Apps uzantısını yükleyin:
az extension add --name spring - İsteğe bağlı olarak, IntelliJ için Azure Araç Seti.
Spring uygulamalarını yerel olarak oluştur.
Örnek depoyu kopyalamak, örnek klasöre gitmek ve projeyi oluşturmak için aşağıdaki komutları kullanın.
git clone https://github.com/azure-samples/spring-petclinic-microservices
cd spring-petclinic-microservices
mvn clean package -DskipTests -Denv=cloud
Projenin derlenmesi 5-10 dakika sürer. Proje derlendiğinde, ilgili klasörlerinde her hizmet için ayrı JAR dosyalarına sahip olmanız gerekir.
Azure Spring Apps'te uygulama oluşturma ve dağıtma
CLI kullanarak Azure Spring Apps'te uygulama oluşturmak ve dağıtmak için aşağıdaki adımları kullanın.
Önceki hızlı başlangıçlarda aşağıdaki komutları çalıştırmadıysanız, CLI varsayılanlarını ayarlamak için şimdi çalıştırın.
az configure --defaults group=<resource-group-name> spring=<service-name>PetClinic için iki temel Spring uygulaması oluşturun:
api-gatewayvecustomers-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Önceki adımda oluşturulan JAR dosyalarını dağıtın.
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"Aşağıdaki komutla dağıtımlardan sonra uygulama durumunu sorgular.
az spring app list --output tableBu komut aşağıdaki örneğe benzer bir çıktı oluşturur:
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 -
Hizmetleri doğrulayın
api-gateway ve customers-service adreslerine, daha önce gösterilen Genel Url ve https://<service name>-api-gateway.azuremicroservices.io formatında bir tarayıcıdan erişin.
İpucu
Dağıtımlarla ilgili sorunları çözmek için aşağıdaki komutu kullanarak uygulama her seferinde çalıştırıldığında günlük akışını gerçek zamanlı olarak alabilirsiniz.
Ek uygulama dağıtma
PetClinic uygulamasının Admin Server, Visits ve Veterinerler gibi tüm özelliklerle çalışmasını sağlamak için diğer uygulamaları aşağıdaki komutlarla dağıtın:
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"
Kaynakları temizleme
Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz. Artık gerekli olmadığında kaynak grubunu silin; bu da kaynak grubundaki kaynakları siler. Azure CLI kullanarak kaynak grubunu silmek için aşağıdaki komutları kullanın:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."