Aracılığıyla paylaş


Maven ile Azure Uygulaması Hizmetine Open Liberty Micro Web Uygulaması Dağıtma

Bu hızlı başlangıçta, Linux üzerinde Azure Uygulaması Service'e bir Open Liberty uygulaması dağıtmak üzere Azure Uygulaması Service Web Apps için Maven Eklentisi'ni kullanacaksınız. Uygulamanızın bağımlılıklarını, çalışma zamanını ve yapılandırmasını dağıtılabilir tek bir yapıtta birleştirmek istediğinizde Tomcat ve WAR dosyaları yerine Java SE dağıtımını seçebilirsiniz.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önemli

Azure Uygulaması Hizmeti Microsoft tarafından tasarlanmış, çalıştırılmış ve desteklenmiş olsa da, üzerinde çalıştırdığınız yazılımlar kendi destek planı desteğine ve lisans koşullarına tabidir. Bu makalede açıklanan yazılım desteği hakkında ayrıntılı bilgi için, makalede listelenen yazılımın ana sayfalarına bakın. Open Liberty desteği için Bkz . Open Liberty destek sayfası. WebSphere Liberty desteği için bkz . IBM Bulut Desteği.

Önkoşullar

Azure CLI'da oturum açma

Open Liberty uygulamanızı dağıtan Maven Eklentisini edinmenin en basit ve en kolay yolu Azure CLI kullanmaktır.

Azure CLI’yi kullanarak Azure hesabınızda oturum açın:

az login

Yönergeleri izleyerek oturum açma işlemlerini tamamlayın.

MicroProfile Starter'dan örnek uygulama oluşturma

Bu bölümde bir Open Liberty uygulaması oluşturacak ve yerel olarak test edin.

  1. Bir web tarayıcısı açın ve MicroProfile Starter sitesine gidin.

    Open Liberty çalışma zamanının seçili olduğu MicroProfile Starter'ın gösterildiği ekran görüntüsü.

  2. MicroProfile Starter'ı doldurmak için aşağıdaki tabloda yer alan değerleri kullanın.

    Alan Değer
    groupId com.microsoft.azure.samples.openliberty
    Artifactıd openliberty-hello-azure
    MicroProfile Sürümü MP 4.0
    Java SE Sürümü Java 11
    MicroProfile Runtime Açık Özgürlük
    Belirtim örnekleri Ölçümler, OpenAPI
  3. Projeyi indirmek için İnDİr'i seçin.

  4. Arşiv dosyasının sıkıştırmasını açın; örneğin:

    unzip openliberty-hello-azure.zip
    

Uygulamayı Yerel ortamda çalıştırma

  1. Tamamlanmış projenin dizinine geçin; örneğin:

    cd openliberty-hello-azure/
    
  2. Maven kullanarak projeyi oluşturma; örneğin:

    mvn clean package
    
  3. Projeyi çalıştırın; örneğin:

    java -jar target/openliberty-hello-azure.jar
    
  4. Web tarayıcısını kullanıp web uygulamasına yerel olarak göz atarak uygulamayı test edin. Örneğin curl kullanılabiliyorsa aşağıdaki komutu kullanabilirsiniz:

    curl http://localhost:9080/data/hello
    
  5. Şu iletinin görüntülendiğini görmeniz gerekir: Merhaba Dünya

Azure App Service için Maven Eklentisi’ni yapılandırma

Bu bölümde, Maven'ın uygulamayı Linux üzerinde Azure Uygulaması Hizmeti'ne dağıtabilmesi için Open Liberty proje pom.xml dosyasını yapılandıracaksınız.

  1. Dağıtımı yapılandırmak için aşağıdaki Maven komutunu çalıştırın:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.3.0:config
    

    İstendiğinde aşağıdaki seçenekleri belirtin:

    Giriş Alanı Giriş/Değer Seçme
    İşletim sistemi için değer tanımlama(Varsayılan: Linux): 1. linux
    javaVersion için değer tanımlama(Varsayılan: Java 8): 2. Java 11
    runtimeStack(Varsayılan: TOMCAT 8.5) için değer tanımlayın: 2. TOMCAT 8.5
    Onayla (E/H) y

Not

Tomcat kullanmasak bile şu anda öğesini seçin TOMCAT 8.5 . Ayrıntılı yapılandırma sırasında değerini olarak TOMCAT 8.5Javadeğiştireceksiniz. Bu örnek, Azure Uygulaması Service Maven eklentisinin belirli bir sürümünü kullanır. Kullanılabilir en son sürümü kullanmayı göz önünde bulundurmalısınız. mvnrepository.com gibi bir siteyi ziyaret ederek en son sürümün sayısını bulabilirsiniz.

Bu komut aşağıdaki örneğe benzer bir çıktı oluşturur:

 [INFO] Scanning for projects...
 [INFO]
 [INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
 [INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
 [INFO] --------------------------------[ war ]---------------------------------
 [INFO]
 [INFO] --- azure-webapp-maven-plugin:2.3.0:config (default-cli) @ openliberty-hello-azure ---
 Auth type: AZURE_CLI
 Default subscription:
 Username:
 [INFO] Subscription:
 [INFO] It may take a few minutes to load all Java Web Apps, please be patient.
 Define value for OS [Linux]:
   1: Windows
 * 2: Linux
   3: Docker
 Enter your choice:
 Define value for javaVersion [Java 8]:
 * 1: Java 8
   2: Java 11
 Enter your choice: 2
 Define value for webContainer [Tomcat 8.5]:
   1: Jbosseap 7
 * 2: Tomcat 8.5
   3: Tomcat 9.0
 Enter your choice:
 Define value for pricingTier [P1v2]:
   1: B1
   2: B2
   3: B3
   4: D1
   5: EP1
   6: EP2
   7: EP3
   8: F1
 *  9: P1v2
   10: P1v3
   11: P2v2
   12: P2v3
   13: P3v2
   14: P3v3
   15: S1
   16: S2
   17: S3
   18: Y1
 Enter your choice:
 Please confirm webapp properties
 Subscription Id : ********-****-****-****-************
 AppName : openliberty-hello-azure-1642075767899
 ResourceGroup : openliberty-hello-azure-1642075767899-rg
 Region : centralus
 PricingTier : P1v2
 OS : Linux
 Java : Java 11
 Web server stack: Tomcat 8.5
 Deploy to slot : false
 Confirm (Y/N) [Y]:
 [INFO] Saving configuration to pom.
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time:  21.981 s
 [INFO] Finished at: 2022-01-13T21:09:39+09:00
 [INFO] ------------------------------------------------------------------------
  1. Uygulamayı Azure Web Apps'te çalıştırmak için /src/main/liberty/config/ dizini altındaki server.xml dosyasını değiştirin. Dosyada, aşağıdaki örnekte gösterildiği gibi etiketine satırı <httpEndpoint> ekleyinhost="*":

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443"/>
    
  2. runtime pom.xml dosyasındaki 'den javaTOMCAT 8.5 ve deployment kimden'e *.jar*.war girdisini değiştirin. Ardından bölümünü <appSettings><configuration> , WEBSITES_PORTve WEBSITES_CONTAINER_START_TIME_LIMITbölümlerine PORTekleyin. için azure-webapp-maven-plugin XML girdiniz aşağıdaki örneğe benzer olacaktır:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>2.3.0</version>
      <configuration>
        <schemaVersion>v2</schemaVersion>
        <subscriptionId>********-****-****-****-************</subscriptionId>
        <resourceGroup>openliberty-hello-azure-1642075767899-rg</resourceGroup>
        <appName>openliberty-hello-azure-1642075767899</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>Linux</os>
          <javaVersion>Java 11</javaVersion>
          <webContainer>java</webContainer>
        </runtime>
      <appSettings>
        <property>
          <name>PORT</name>
          <value>9080</value>
        </property>
          <property>
          <name>WEBSITES_PORT</name>
          <value>9080</value>
        </property>
        <property>
          <name>WEBSITES_CONTAINER_START_TIME_LIMIT</name>
          <value>600</value>
        </property>
      </appSettings>
        <deployment>
          <resources>
            <resource>
              <directory>${project.basedir}/target</directory>
              <includes>
                <include>*.jar</include>
              </includes>
            </resource>
          </resources>
        </deployment>
      </configuration>
    </plugin>
    

Uygulamayı Azure’da dağıtma

Bu makalenin önceki bölümlerinde yer alan tüm ayarları yapılandırdıktan sonra web uygulamanızı Azure'a dağıtmaya hazırsınız demektir. Bunu yapmak için aşağıdaki adımları kullanın:

  1. Pom.xml dosyasında herhangi bir değişiklik yaptıysanız, daha önce kullandığınız komut isteminde veya terminal penceresinde Maven’i kullanarak JAR dosyasını yeniden derleyin; örneğin:

    mvn clean package
    
  2. Maven’i kullanarak web uygulamanızı Azure’a dağıtın; örneğin:

    mvn azure-webapp:deploy
    

Dağıtım başarılı olursa aşağıdaki çıkışı görürsünüz.

[INFO] Scanning for projects...
[INFO]
[INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
[INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:2.3.0:deploy (default-cli) @ openliberty-hello-azure ---
Auth type: AZURE_CLI
[INFO] Creating web app openliberty-hello-azure-1642075767899...
[INFO] Successfully created Web App openliberty-hello-azure-1642075767899.
[INFO] Trying to deploy external resources to openliberty-hello-azure-1642075767899...
[INFO] Successfully deployed the resources to openliberty-hello-azure-1642075767899
[INFO] Trying to deploy artifact to openliberty-hello-azure-1642075767899...
[INFO] Deploying (/Users/Downloads/openliberty-hello-azure/target/openliberty-hello-azure.jar)[jar]  ...
[INFO] Successfully deployed the artifact to https://openliberty-hello-azure-1642075767899.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:11 min
[INFO] Finished at: 2022-01-13T21:29:50+09:00
[INFO] ------------------------------------------------------------------------

Maven, web uygulamanızı Azure'a dağıtır. Web uygulaması veya web uygulaması planı henüz yoksa, sizin için oluşturulur. Web uygulamasının çıkışta gösterilen URL’de görünür olması birkaç dakika sürebilir. Web tarayıcısında URL’ye gidin. Aşağıdaki ekranı görmeniz gerekir.

Open Liberty'nin ön sayfasını gösteren web tarayıcısının ekran görüntüsü.

Uygulamanız dağıtıldığında Azure portalı üzerinden yönetebilirsiniz.

Web uygulamanız kaynak grubunda listelenir.

Web uygulamanızın Genel Bakış sayfasında Gözat'ı seçerek web uygulamanıza erişebilirsiniz. Dağıtımın başarılı ve Çalışıyor olduğunu doğrulayın.

Çalışan App Service'ten günlük akışını onaylayın

Çalışan App Service'ten günlükleri görebilirsiniz (veya "takip edebilirsiniz"). Site kodundaki tüm çağrılar console.log terminalde görüntülenir.

az webapp log tail \
    --resource-group openliberty-hello-azure-1642075767899-rg \
    --name openliberty-hello-azure-1642075767899

Günlük akışını gösteren terminal penceresinin ekran görüntüsü.

Kaynakları temizleme

Artık Azure kaynakları gerekli değilse, kaynak grubunu silerek dağıttığınız kaynakları temizleyin.

  • Azure portalında sol menüden Kaynak grubu’nu seçin.
  • Ada göre filtrele alanına mikroprofil girin; bu öğreticide oluşturulan kaynak grubunda bu ön ek olmalıdır.
  • Bu öğreticide oluşturulan kaynak grubunu seçin.
  • Üstteki menüden Kaynak grubunu sil’i seçin.

Sonraki adımlar

MicroProfile ve Azure hakkında daha fazla bilgi edinmek için Azure'da MicroProfile belge merkezine geçin.

Ek kaynaklar

Bu makalede tartışılan çeşitli teknolojiler hakkında daha fazla bilgi için aşağıdaki makalelere bakın: