Hızlı Başlangıç: Azure Container Apps'te ilk Java uygulamanızı başlatma
Bu makalede Spring PetClinic örnek uygulamasının Azure Container Apps üzerinde çalıştırılacak şekilde nasıl dağıtılacağı gösterilmektedir. El ile dockerfile oluşturmak ve doğrudan bir kapsayıcı kayıt defteri kullanmak yerine, Java uygulamanızı doğrudan bir Java Arşivi (JAR) dosyasından veya bir web uygulaması arşiv (WAR) dosyasından dağıtabilirsiniz.
Bu öğreticinin sonunda, Azure portalı üzerinden yönetebileceğiniz bir web uygulaması dağıtacaksınız.
Aşağıdaki görüntüde uygulamanızın Azure'a dağıtıldıktan sonra nasıl göründüğüne ilişkin bir ekran görüntüsü yer alır.
Önkoşullar
Gereksinim | Yönergeler |
---|---|
Azure hesabı | Hesabınız yoksa ücretsiz bir hesap oluşturun. Devam etmek için Azure aboneliğinde Katkıda Bulunan veya Sahip iznine sahip olmanız gerekir. Ayrıntılar için Bkz. Azure portalını kullanarak Azure rolleri atama. |
GitHub Hesabı | Ücretsiz bir tane edinin. |
git | Git'i yükleme |
Azure CLI | Azure CLI’yi yükleyin. |
Container Apps CLI uzantısı | Sürüm veya üzerini 0.3.47 kullanın. az extension add --name containerapp --upgrade --allow-preview En son sürümü yüklemek için komutunu kullanın. |
Java | Java Geliştirme Seti'ni yükleyin. Sürüm 17 veya üzerini kullanın. |
Apache Maven | Apache Maven'ı indirin ve yükleyin. |
Projeyi hazırlama
Spring PetClinic örnek uygulamasını makinenize kopyalayın.
git clone https://github.com/spring-projects/spring-petclinic.git
git clone https://github.com/spring-petclinic/spring-framework-petclinic.git
Projeyi derleme
spring-petclinic klasörüne geçin.
cd spring-petclinic
Maven derleme alanını temizleyin, projenin kodunu derleyin ve tüm testleri atlarken bir JAR dosyası oluşturun.
mvn clean verify
Derleme komutunu yürüttkten sonra /target klasöründe petclinic.jar adlı bir dosya oluşturulur.
spring-framework-petclinic klasörüne geçin.
cd spring-framework-petclinic
Maven derleme alanını temizleyin, projenin kodunu derleyin ve tüm testleri atlarken bir WAR dosyası oluşturun.
mvn clean verify
Derleme komutunu yürüttkten sonra , /target klasöründe petclinic.war adlı bir dosya oluşturulur.
Projeyi dağıtma
JAR paketini Azure Container Apps'e dağıtın.
Artık CLI komutuyla az containerapp up
WAR dosyanızı dağıtabilirsiniz.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION_ID>\
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Not
Varsayılan JDK sürümü 17'dir. Uygulamanızla uyumluluk için JDK sürümünü değiştirmeniz gerekiyorsa, sürüm numarasını ayarlamak için bağımsız değişkenini --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION>
kullanabilirsiniz.
Java derleme ortamı değişkenlerinde daha uygun derleme ortamı değişkenleri bulabilirsiniz.
WAR paketini Azure Container Apps'e dağıtın.
Artık CLI komutuyla az containerapp up
WAR dosyanızı dağıtabilirsiniz.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--subscription <SUBSCRIPTION>\
--location <LOCATION> \
--environment <ENVIRONMENT_NAME> \
--artifact <WAR_FILE_PATH_AND_NAME> \
--build-env-vars BP_TOMCAT_VERSION=10.* \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Not
Varsayılan Tomcat sürümü 9'dur. Uygulamanızla uyumluluk için Tomcat sürümünü değiştirmeniz gerekiyorsa, sürüm numarasını ayarlamak için bağımsız değişkenini kullanabilirsiniz --build-env-vars BP_TOMCAT_VERSION=<YOUR_TOMCAT_VERSION>
.
Bu örnekte, ortam değişkeni ayarlanarak Tomcat sürümü (ikincil sürümler dahil) olarak ayarlanır 10
BP_TOMCAT_VERSION=10.*
.
Java derleme ortamı değişkenlerinde daha uygun derleme ortamı değişkenleri bulabilirsiniz.
Uygulama durumunu doğrulama
Bu örnekte komut, containerapp up
uygulamanın URL'si olarak da bilinen tam etki alanı adını (FQDN) döndüren bağımsız değişkenini içerir --query properties.configuration.ingress.fqdn
.
Bu URL'yi bir tarayıcıya yapıştırarak uygulamayı görüntüleyin. Uygulamanız aşağıdaki ekran görüntüsüne benzemelidir.