Maven ile Azure Uygulaması Hizmetine Payara Micro Web Uygulaması Dağıtma

Bu hızlı başlangıçta, Azure Uygulaması Service Web Apps için Maven Eklentisi'ni kullanarak Linux üzerinde Azure Uygulaması Service'e bir Payara Micro uygulaması dağıtacaksı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.

Önkoşullar

Azure CLI'da oturum açma

Maven Eklentisi'ni PayaraMicro uygulamanızı dağıtmanın 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 PayaraMicro uygulaması oluşturacak ve yerel olarak test edeceğiz.

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

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

  2. Aşağıdaki gibi bir alan girin veya seçin.

    Alan Değer
    groupId com.microsoft.azure.samples.payaramicro
    Artifactıd payaramicro-hello-azure
    MicroProfile Sürümü MP 3.2
    Java SE Sürümü Java 11
    MicroProfile Runtime PayaraMicro
    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 payaraMicro-hello-azure.zip
    

Uygulamayı Yerel ortamda çalıştırma

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

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

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

    java -jar target/payaramicro-hello-azure-microbundle.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:8080/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 PayaraMicro proje pom.xml dosyasını maven'in uygulamayı Linux üzerinde Azure Uygulaması Hizmeti'ne dağıtabilmesi için yapılandıracaksınız.

  1. pom.xml dosyasını bir kod düzenleyicisinde açın.

  2. <build> pom.xml dosyasının bölümünde etiketin içine aşağıdaki <plugin> girdiyi <plugins> ekleyin.

    <build>
      <finalName>payaramicro-hello-azure</finalName>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
            <version>1.10.0</version>
        </plugin>
      </plugins>
    </build>
    
  3. Ardından aşağıdaki Maven komutunu çalıştırarak dağıtımı yapılandırabilirsiniz:

    mvn azure-webapp: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): 1. Java 11
    runtimeStack(Varsayılan: TOMCAT 8.5) için değer tanımlayın: TOMCAT 8.5
    Onayla (E/H) y

    [! NOT] Tomcat kullanmasak da şu anda öğesini seçin TOMCAT 8.5 . Ayrıntılı yapılandırma sırasında değerini olarak TOMCAT 8.5Java11değiştireceksiniz.

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

    [INFO] Scanning for projects...
    [INFO]
    [INFO] --< com.microsoft.azure.samples.payaramicro:payaramicro-hello-azure >---
    [INFO] Building payaramicro-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ payaramicro-hello-azure ---
    Define value for OS(Default: Linux):
    1. linux [*]
    2. windows
    3. docker
    Enter index to use:
    Define value for javaVersion(Default: Java 8):
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 1
    Define value for runtimeStack(Default: TOMCAT 8.5):
    1. TOMCAT 9.0
    2. TOMCAT 8.5 [*]
    Enter index to use:
    Please confirm webapp properties
    AppName : payaramicro-hello-azure-1601009217863
    ResourceGroup : payaramicro-hello-azure-1601009217863-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : TOMCAT 8.5-java11
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  22.302 s
    [INFO] Finished at: 2020-09-25T13:47:11+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. girdisini runtime olarak java11TOMCAT 8.5 ve girdisini *.jardeployment*.war olarak 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 görünmelidir:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>1.9.1</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>payaramicro-hello-azure-1591860934798</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>java11</javaVersion>
          <webContainer>java11</webContainer>
        </runtime>
        <appSettings>
          <property>
            <name>PORT</name>
            <value>8080</value>
          </property>
            <property>
            <name>WEBSITES_PORT</name>
            <value>8080</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ı olduysanız aşağıdaki çıkışı görürsünüz.

[INFO] Successfully deployed the artifact to https://payaramicro-hello-azure-1601009217863.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:58 min
[INFO] Finished at: 2020-09-25T13:55:13+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.

Payara Micro'nun ön sayfasını gösteren web tarayıcısının ekran görüntüsü.

Web'iniz dağıtıldığında Azure portalı üzerinden yönetebilirsiniz.

Web uygulamanız mikroprofil 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 microprofile \
    --name payaramicro-hello-azure-1601009217863

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: