Hızlı Başlangıç: Azure Uygulaması Hizmetinde Java uygulaması oluşturma
Makale
Bu hızlı başlangıçta Azure Uygulaması Service Web Apps için Maven Eklentisi'ni kullanarak Azure Uygulaması Service'teki bir Linux Tomcat sunucusuna java web uygulaması dağıtacaksınız. App Service yüksek oranda ölçeklenebilir, kendi kendine düzeltme eki uygulama barındırma hizmeti sağlar. Tomcat, JBoss veya katıştırılmış sunucu (Java SE) yönergeleri arasında geçiş yapmak için sekmeleri kullanın.
Maven tercih ettiğiniz geliştirme aracı değilse Java geliştiricilerine yönelik benzer öğreticilerimize göz atın:
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell'i başlatmak için:
Seçenek
Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin.
Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin.
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.
Kodu veya komutu çalıştırmak için Enter'ı seçin.
2 - Java uygulaması oluşturma
Adlı helloworldyeni bir uygulama oluşturmak için Cloud Shell isteminde aşağıdaki Maven komutunu yürütebilirsiniz:
Ardından çalışma dizininizi proje klasörü olarak değiştirin:
cd helloworld
3 - Maven eklentisini yapılandırma
Azure Uygulaması Hizmeti'ne dağıtım işlemi, Azure CLI'dan azure kimlik bilgilerinizi otomatik olarak kullanır. Azure CLI yerel olarak yüklü değilse Maven eklentisi OAuth veya cihaz oturum açma ile kimlik doğrulaması yapar. Daha fazla bilgi için bkz . Maven eklentileriyle kimlik doğrulaması.
Dağıtımı yapılandırmak için yanında gösterilen Maven komutunu çalıştırın. Bu komut App Service işletim sistemini, Java sürümünü ve Tomcat sürümünü ayarlamanıza yardımcı olur.
Yeni çalıştırma yapılandırması oluştur için Y yazın ve enter tuşuna basın.
İşletim sistemi için değer tanımla alanına Windows için 1 veya Linux için 2 yazın ve enter tuşuna basın.
JavaVersion için değer tanımla alanına Java 17 için 1 yazın ve enter tuşuna basın.
webContainer için değer tanımla alanına Tomcat 10.0 için 1 yazın ve enter tuşuna basın.
pricingTier için değer tanımla alanına P1v2 için 3 yazın ve enter tuşuna basın.
Onayla için Y yazın ve enter tuşuna basın.
Please confirm webapp properties
AppName : helloworld-1690440759246
ResourceGroup : helloworld-1690440759246-rg
Region : centralus
PricingTier : P1v2
OS : Linux
Java Version: Java 17
Web server stack: Tomcat 10.0
Deploy to slot : false
Confirm (Y/N) [Y]:
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.069 s
[INFO] Finished at: 2023-07-27T06:52:48Z
[INFO] ------------------------------------------------------------------------
Seçimlerinizi onayladıktan sonra eklenti, projenizin pom.xml dosyasına web uygulamanızı Azure App Service üzerinde çalışacak şekilde yapılandıran yukarıdaki eklenti öğesini ve önkoşul ayarlarını ekler.
Dosyanın ilgili bölümü pom.xml aşağıdaki örneğe benzer olmalıdır.
Web Uygulamanızı barındıracak bölgeyi belirtir; varsayılan değer centralus'dur. Desteklenen Bölgeler bölümündeki tüm geçerli bölgeler.
0.1.0+
<pricingTier>
yanlış
Web Uygulamanızın fiyatlandırma katmanı. Varsayılan değer üretim iş yükü için P1v2,B2 ise Java geliştirme/test için önerilen en düşük değerdir. Daha fazla bilgi için bkz. App Service Fiyatlandırması
Yapılandırmaların tam listesi için eklenti başvuru belgelerine bakın. Tüm Azure Maven Eklentileri ortak bir yapılandırma kümesini paylaşır. Bu yapılandırmalar için bkz . Ortak Yapılandırmalar. App Service'e özgü yapılandırmalar için bkz . Azure Web App: Yapılandırma Ayrıntıları.
ve <resourceGroup> (helloworld-1690440759246ve helloworld-1690440759246-rg buna göre tanıtımda) değerlerine <appName> dikkat edin. Bunlar daha sonra kullanılır.
4 - Uygulamayı dağıtma
pom.xml dosyanızda tüm yapılandırma hazır olduğunda Java uygulamanızı tek bir komutla Azure'a dağıtabilirsiniz.
mvn package azure-webapp:deploy
Dağıtım tamamlandıktan sonra uygulamanız (http://helloworld-1690440759246.azurewebsites.net tanıtımda) konumunda http://<appName>.azurewebsites.net/ hazır duruma görünür. Url'yi yerel web tarayıcınızla açtığınızda
Tebrikler! App Service'e ilk Java uygulamanızı dağıttınız.
5 - Kaynakları temizleme
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Gelecekte kaynaklara ihtiyacınız yoksa, kaynak grubunu portaldan veya Cloud Shell'de aşağıdaki komutu çalıştırarak silin:
az group delete --name <your resource group name; for example: helloworld-1690440759246-rg> --yes
Bu komutun çalıştırılması bir dakika sürebilir.
Bu hızlı başlangıçta, Azure Uygulaması Service Web Apps için Maven Eklentisi'ni kullanarak ekli sunucu içeren bir Java web uygulamasını Azure Uygulaması Service'e dağıtacaksınız. App Service yüksek oranda ölçeklenebilir, kendi kendine düzeltme eki uygulama barındırma hizmeti sağlar. Tomcat, JBoss veya katıştırılmış sunucu (Java SE) yönergeleri arasında geçiş yapmak için sekmeleri kullanın.
Hızlı başlangıçta azure-webapp-maven-plugin eklentisini kullanarak spring boot uygulaması, katıştırılmış Tomcat veya Quarkus uygulaması dağıtılır.
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell'i başlatmak için:
Seçenek
Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin.
Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin.
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.
Çalışma dizininizi proje klasörü olarak değiştirin:
cd quarkus-hello-azure
3 - Maven eklentisini yapılandırma
Azure Uygulaması Hizmeti'ne dağıtım işlemi, Azure CLI'dan azure kimlik bilgilerinizi otomatik olarak kullanır. Azure CLI yerel olarak yüklü değilse Maven eklentisi OAuth veya cihaz oturum açma ile kimlik doğrulaması yapar. Daha fazla bilgi için bkz . Maven eklentileriyle kimlik doğrulaması.
Dağıtımı yapılandırmak için yanında gösterilen Maven komutunu çalıştırın. Bu komut App Service işletim sistemini, Java sürümünü ve Tomcat sürümünü ayarlamanıza yardımcı olur.
Yeni çalıştırma yapılandırması oluştur için Y yazın ve enter tuşuna basın.
İşletim sistemi için değer tanımla alanına Linux için 2 yazın ve enter tuşuna basın.
JavaVersion için değer tanımla alanına Java 17 için 1 yazın ve enter tuşuna basın.
pricingTier için değer tanımla alanına P1v2 için 3 yazın ve enter tuşuna basın.
Onayla için Y yazın ve enter tuşuna basın.
Please confirm webapp properties
AppName : <generated-app-name>
ResourceGroup : <generated-app-name>-rg
Region : centralus
PricingTier : P1v2
OS : Linux
Java Version: Java 17
Web server stack: Java SE
Deploy to slot : false
Confirm (Y/N) [Y]: y
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.139 s
[INFO] Finished at: 2023-07-26T12:42:48Z
[INFO] ------------------------------------------------------------------------
Seçimlerinizi onayladıktan sonra eklenti, web uygulamanızı Azure Uygulaması Hizmetinde çalışacak şekilde yapılandıran yukarıdaki eklenti öğesini ve gerekli ayarları projenizin pom.xml dosyasına ekler.
Dosyanın ilgili bölümü pom.xml aşağıdaki örneğe benzer olmalıdır.
Web Uygulamanızı barındıracak bölgeyi belirtir; varsayılan değer centralus'dur. Desteklenen Bölgeler bölümündeki tüm geçerli bölgeler.
0.1.0+
<pricingTier>
yanlış
Web Uygulamanızın fiyatlandırma katmanı. Varsayılan değer üretim iş yükü için P1v2,B2 ise Java geliştirme/test için önerilen en düşük değerdir. Daha fazla bilgi için bkz. App Service Fiyatlandırması
Yapılandırmaların tam listesi için eklenti başvuru belgelerine bakın. Tüm Azure Maven Eklentileri ortak bir yapılandırma kümesini paylaşır. Bu yapılandırmalar için bkz . Ortak Yapılandırmalar. App Service'e özgü yapılandırmalar için bkz . Azure Web App: Yapılandırma Ayrıntıları.
ve <resourceGroup>değerlerine <appName> dikkat edin. Bunlar daha sonra kullanılır.
4 - Uygulamayı dağıtma
pom.xml dosyanızda tüm yapılandırma hazır olduğunda Java uygulamanızı tek bir komutla Azure'a dağıtabilirsiniz.
Aşağıdaki komutu kullanarak JAR dosyasını oluşturun:
Uygulamayı azure-webapp-maven-plugin kullanarak dağıtılabilir hale getirmek ve Azure Uygulaması Hizmetinde çalıştırmak için örnek hedefi aşağıdaki gibi yapılandırılırpackage:
Uygulamanın çalışması için gereken her şeyi içeren tek bir uber JAR dosyası oluşturun.
Tomcat sınıfını başlangıç sınıfı olarak belirterek yürütülebilir bir JAR oluşturun.
Dağıtma adımının doğru dosyayı dağıttığından emin olmak için özgün yapıtı uber JAR ile değiştirin.
İpucu
Quarkus ve Spring Boot ile mvn clean packageiki JAR dosyası oluşturur, ancak azure-webapp-maven-plugin otomatik olarak dağıtılacak doğru JAR dosyasını seçer.
%prod.quarkus.http.port=80 Quarkus'a, Linux Java kapsayıcısının kullandığı varsayılan bağlantı noktası olan çalışma zamanında üretim ortamı için 80 numaralı bağlantı noktasını kullanmasını söyler. İsterseniz, uygulama ayarıyla WEBSITES_PORT Java kapsayıcısının bağlantı noktası numarasını değiştirebilirsiniz.
Bu özellikleri başka yöntemler kullanarak yapılandırabilirsiniz, ancak basitlik için burada komutuna mvn package eklenirler.
Aşağıdaki komutu kullanarak Azure'a dağıtın:
mvn azure-webapp:deploy
Dağıtım başarılı olursa aşağıdaki çıkışı görürsünüz:
[INFO] Successfully deployed the artifact to https://<app-name>.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:20 min
[INFO] Finished at: 2023-07-26T12:47:50Z
[INFO] ------------------------------------------------------------------------
Dağıtım tamamlandıktan sonra uygulamanız konumunda http://<appName>.azurewebsites.net/hazırdır. URL'yi http://<appName>.azurewebsites.net/greeting yerel web tarayıcınızla açın (yolu not /greeting edin) ve şunları görmeniz gerekir:
Dağıtım tamamlandıktan sonra uygulamanız konumunda http://<appName>.azurewebsites.net/hazırdır. Url'yi yerel web tarayıcınızla açtığınızda şunları görmeniz gerekir:
Dağıtım tamamlandıktan sonra uygulamanız konumunda http://<appName>.azurewebsites.net/hazırdır. Url'yi yerel web tarayıcınızla açtığınızda şunları görmeniz gerekir:
Tebrikler! App Service'e ilk Java uygulamanızı dağıttınız.
5 - Kaynakları temizleme
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Gelecekte kaynaklara ihtiyacınız yoksa, kaynak grubunu portaldan veya Cloud Shell'de aşağıdaki komutu çalıştırarak silin:
az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes
Bu komutun çalışması bir dakika kadar sürebilir.
Bu hızlı başlangıçta, Azure Uygulaması Service Web Apps için Maven Eklentisi'ni kullanarak Azure Uygulaması Hizmeti'ndeki bir Linux JBoss EAP sunucusuna java web uygulaması dağıtacaksınız. App Service yüksek oranda ölçeklenebilir, kendi kendine düzeltme eki uygulama barındırma hizmeti sağlar. Tomcat, JBoss veya katıştırılmış sunucu (Java SE) yönergeleri arasında geçiş yapmak için sekmeleri kullanın.
Maven tercih ettiğiniz geliştirme aracı değilse Java geliştiricilerine yönelik benzer öğreticilerimize göz atın:
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell'i başlatmak için:
Seçenek
Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin.
Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin.
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.
Dizini tamamlanmış evcil hayvan mağazası projesine değiştirin ve oluşturun.
İpucu
Örnek petstore-ee7 java 11 veya daha yeni bir sürüm gerektirir. Örnek booty-duke-app-service proje Java 17 gerektirir. Yüklü Java sürümünüz 17'den küçükse derlemeyi en üst düzeyde değil dizin içinden petstore-ee7 çalıştırın.
cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install
Ayrılmış HEAD durumunda olduğunu belirten bir ileti görürseniz, bu iletiyi yoksaymak güvenlidir. Bu hızlı başlangıçta Git işlemesi yapmayacağınız için ayrılmış HEAD durumu uygundur.
3 - Maven eklentisini yapılandırma
Azure Uygulaması Hizmeti'ne dağıtım işlemi, Azure CLI'dan azure kimlik bilgilerinizi otomatik olarak kullanır. Azure CLI yerel olarak yüklü değilse Maven eklentisi OAuth veya cihaz oturum açma ile kimlik doğrulaması yapar. Daha fazla bilgi için bkz . Maven eklentileriyle kimlik doğrulaması.
Dağıtımı yapılandırmak için yanında gösterilen Maven komutunu çalıştırın. Bu komut App Service işletim sistemini, Java sürümünü ve Tomcat sürümünü ayarlamanıza yardımcı olur.
Yeni çalıştırma yapılandırması oluştur için Y yazın ve enter tuşuna basın.
İşletim sistemi için değer tanımla alanına Linux için 2 yazın ve enter tuşuna basın.
JavaVersion için değer tanımla alanına Java 11 için 2 yazın ve enter tuşuna basın.
webContainer seçeneği için Jbosseap 7 için 4 yazın ve enter tuşuna basın.
pricingTier için değer tanımla alanına P1v3 için 1 yazın ve enter tuşuna basın.
Onayla için Y yazın ve enter tuşuna basın.
Please confirm webapp properties
AppName : petstoreee7-1690443003536
ResourceGroup : petstoreee7-1690443003536-rg
Region : centralus
PricingTier : P1v3
OS : Linux
Java Version: Java 11
Web server stack: Jbosseap 7
Deploy to slot : false
Confirm (Y/N) [Y]:
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.914 s
[INFO] Finished at: 2023-07-27T07:30:20Z
[INFO] ------------------------------------------------------------------------
Seçimlerinizi onayladıktan sonra eklenti, projenizin pom.xml dosyasına web uygulamanızı Azure App Service üzerinde çalışacak şekilde yapılandıran yukarıdaki eklenti öğesini ve önkoşul ayarlarını ekler.
Dosyanın ilgili bölümü pom.xml aşağıdaki örneğe benzer olmalıdır.
Web Uygulamanızı barındıracak bölgeyi belirtir; varsayılan değer centralus'dur. Desteklenen Bölgeler bölümündeki tüm geçerli bölgeler.
0.1.0+
<pricingTier>
yanlış
Web Uygulamanızın fiyatlandırma katmanı. Varsayılan değer üretim iş yükü için P1v2,B2 ise Java geliştirme/test için önerilen en düşük değerdir. Daha fazla bilgi için bkz. App Service Fiyatlandırması
Yapılandırmaların tam listesi için eklenti başvuru belgelerine bakın. Tüm Azure Maven Eklentileri ortak bir yapılandırma kümesini paylaşır. Bu yapılandırmalar için bkz . Ortak Yapılandırmalar. App Service'e özgü yapılandırmalar için bkz . Azure Web App: Yapılandırma Ayrıntıları.
ve <resourceGroup> (petstoreee7-1690443003536ve petstoreee7-1690443003536-rg buna göre tanıtımda) değerlerine <appName> dikkat edin. Bunlar daha sonra kullanılır.
4 - Uygulamayı dağıtma
pom.xml dosyanızda tüm yapılandırma hazır olduğunda Java uygulamanızı tek bir komutla Azure'a dağıtabilirsiniz.
# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests
Dağıtım tamamlandıktan sonra uygulamanız (http://petstoreee7-1690443003536.azurewebsites.net tanıtımda) konumunda http://<appName>.azurewebsites.net/ hazır duruma görünür. Url'yi yerel web tarayıcınızla açtığınızda
Tebrikler! App Service'e ilk Java uygulamanızı dağıttınız.
5 - Kaynakları temizleme
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Gelecekte kaynaklara ihtiyacınız yoksa, kaynak grubunu portaldan veya Cloud Shell'de aşağıdaki komutu çalıştırarak silin:
az group delete --name <your resource group name; for example: petstoreee7-1690443003536-rg> --yes
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.
Azure İşlevleri oluşturmak, web uygulamalarını uygulamak ve yönetmek, Azure depolamayı kullanan çözümler geliştirmek ve daha fazlasını yapmak için Microsoft Azure'da uçtan uca çözümler oluşturun.