クイック スタート:App Service on Linux で Java アプリを作成するQuickstart: Create a Java app in App Service on Linux

App Service on Linux は、Linux オペレーティング システムを使用する、高度にスケーラブルな自己適用型の Web ホスティング サービスを提供します。App Service on Linux provides a highly scalable, self-patching, web hosting service using the Linux operating system. このクイック スタートでは、Azure CLIAzure App Service 用の Maven プラグインと共に使用して Java Web アーカイブ (WAR) ファイルをデプロイする方法を示します。This quickstart shows how to use the Azure CLI with the Maven Plugin for Azure App Service to deploy a Java web archive (WAR) file.

注意

IntelliJ や Eclipse のような一般的な IDE を使っても同じことができます。The same thing can also be done using popular IDEs like IntelliJ and Eclipse. Azure Toolkit for IntelliJ のクイック スタートまたは Azure Toolkit for Eclipse のクイック スタートで類似するドキュメントを確認してください。Check out our similar documents at Azure Toolkit for IntelliJ Quickstart or Azure Toolkit for Eclipse Quickstart.

Azure で実行されるサンプル アプリ

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell では、bashPowerShell のいずれかを使用して Azure サービスを操作できます。Cloud Shell lets you use either bash or PowerShell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を起動するには:To launch Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [試してみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を起動します。Launch Cloud Shell.
  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.
  3. Windows と Linux では Ctrl + Shift + V キー、macOS では Cmd + Shift + V キーを使用して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.
  4. Enter キーを押して、コードを実行します。Press Enter to run the code.

Java アプリを作成するCreate a Java app

Cloud Shell プロンプトで次の Maven コマンドを実行して、helloworld という名前の新しいアプリを作成します。Execute the following Maven command in the Cloud Shell prompt to create a new app named helloworld:

mvn archetype:generate -DgroupId=example.demo -DartifactId=helloworld -DarchetypeArtifactId=maven-archetype-webapp

Maven プラグインを構成するConfigure the Maven plugin

Maven からデプロイするには、Cloud Shell でコード エディターを使用して helloworld ディレクトリ内のプロジェクト pom.xml ファイルを開きます。To deploy from Maven, use the code editor in the Cloud Shell to open up the project pom.xml file in the helloworld directory.

code pom.xml

次に、pom.xml ファイルの <build> 要素内に次のプラグイン定義を追加します。Then add the following plugin definition inside the <build> element of the pom.xml file.

<plugins>
    <!--*************************************************-->
    <!-- Deploy to Tomcat in App Service Linux           -->
    <!--*************************************************-->
    <plugin>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-webapp-maven-plugin</artifactId>
        <version>1.7.0</version>
        <configuration>
            <!-- Specify v2 schema -->
            <schemaVersion>v2</schemaVersion>
            <!-- App information -->
            <resourceGroup>RESOURCEGROUP_NAME</resourceGroup>
            <appName>WEBAPP_NAME</appName>
            <region>REGION</region>
   
            <!-- Java Runtime Stack for App on Linux-->
            <runtime>
                <os>linux</os>
                <javaVersion>jre8</javaVersion>
                <webContainer>tomcat 8.5</webContainer>
            </runtime> 
            <deployment>
                <resources>
                    <resource>
                        <directory>${project.basedir}/target</directory>
                        <includes>
                            <include>*.war</include>
                        </includes>
                    </resource>
                </resources>
            </deployment>
        </configuration>
    </plugin>
</plugins>

Azure App Service へのデプロイ プロセスでは、Azure CLI からアカウントの資格情報を使います。The deploy process to Azure App Service uses account credentials from the Azure CLI. 続行する前に、Azure CLI にサインインします。Sign in with the Azure CLI before continuing.

az login

次に、デプロイを構成し、[コマンド プロンプト] で maven コマンド mvn azure-webapp:config を実行し、 [Confirm (Y/N)](確認 (Y/N)) プロンプトが表示されるまで Enter キーを押して既定の構成を使用し、 'y' キーを押して構成を完了します。Then you can configure the deployment, run the maven command mvn azure-webapp:config in the Command Prompt and use the default configurations by pressing ENTER until you get the Confirm (Y/N) prompt, then press 'y' and the configuration is done.

~@Azure:~/helloworld$ mvn azure-webapp:config
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< example.demo:helloworld >-----------------------
[INFO] Building helloworld Maven Webapp 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:1.7.0:config (default-cli) @ helloworld ---
[WARNING] The plugin may not work if you change the os of an existing webapp.
Define value for OS(Default: Linux):
1. linux [*]
2. windows
3. docker
Enter index to use:
Define value for javaVersion(Default: jre8):
1. jre8 [*]
2. java11
Enter index to use:
Define value for runtimeStack(Default: TOMCAT 8.5):
1. TOMCAT 9.0
2. jre8
3. TOMCAT 8.5 [*]
4. WILDFLY 14
Enter index to use:
Please confirm webapp properties
AppName : helloworld-1558400876966
ResourceGroup : helloworld-1558400876966-rg
Region : westeurope
PricingTier : Premium_P1V2
OS : Linux
RuntimeStack : TOMCAT 8.5-jre8
Deploy to slot : false
Confirm (Y/N)? : Y

注意

この記事では、WAR ファイル内にパッケージ化された Java アプリのみを操作します。In this article we are only working with Java apps packaged in WAR files. このプラグインは、JAR Web アプリケーションもサポートしています。Java SE JAR ファイルを App Service on Linux にデプロイする方法に関するページにアクセスしてお試しください。The plugin also supports JAR web applications, visit Deploy a Java SE JAR file to App Service on Linux to try it out.

もう一度 pom.xml に移動してプラグイン構成が更新されていることを確認します。必要に応じて、pom ファイルで App Service の他の構成を直接変更できます。その一般的なものを次に示します。Navigate to pom.xml again to see the plugin configuration is updated, You can modify other configurations for App Service directly in your pom file if needed, some common ones are listed below:

プロパティProperty 必須Required 説明Description VersionVersion
<schemaVersion> falsefalse 構成スキーマのバージョンを指定します。Specify the version of the configuration schema. サポートされる値は v1v2 です。Supported values are: v1, v2. 1.5.21.5.2
<resourceGroup> truetrue Web アプリの Azure リソース グループ。Azure Resource Group for your Web App. 0.1.0 以降0.1.0+
<appName> truetrue Web アプリの名前。The name of your Web App. 0.1.0 以降0.1.0+
<region> truetrue Web アプリがホストされるリージョンを指定します。既定値は westus です。Specifies the region where your Web App will be hosted; the default value is westus. すべての有効なリージョンについては、「サポートされているリージョン」を参照してください。All valid regions at Supported Regions section. 0.1.0 以降0.1.0+
<pricingTier> falsefalse Web アプリの価格レベル。The pricing tier for your Web App. 既定値は P1V2 です。The default value is P1V2. 0.1.0 以降0.1.0+
<runtime> truetrue ランタイム環境の構成の詳細については、こちらを参照してください。The runtime environment configuration, you could see the detail here. 0.1.0 以降0.1.0+
<deployment> truetrue デプロイ構成の詳細については、こちらを参照してください。The deployment configuration, you could see the details here. 0.1.0 以降0.1.0+

アプリケーションのデプロイDeploy the app

次のコマンドを使用して、Java アプリを Azure にデプロイします。Deploy your Java app to Azure using the following command:

mvn package azure-webapp:deploy

デプロイが完了したら、Web ブラウザーで次の URL を使用して、デプロイされたアプリケーションを参照します (たとえば、http://<webapp>.azurewebsites.net)。Once deployment has completed, browse to the deployed application using the following URL in your web browser, for example http://<webapp>.azurewebsites.net.

Azure で実行されるサンプル アプリ

お疲れさまでした。Congratulations! App Service on Linux に初めての Java アプリをデプロイしました。You've deployed your first Java app to App Service on Linux.

リソースのクリーンアップClean up resources

前の手順では、リソース グループ内に Azure リソースを作成しました。In the preceding steps, you created Azure resources in a resource group. これらのリソースが将来必要になると想定していない場合、Cloud Shell で次のコマンドを実行して、リソース グループを削除します。If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:

az group delete --name <your resource group name; for example: helloworld-1558400876966-rg> --yes

このコマンドの実行には、少し時間がかかる場合があります。This command may take a minute to run.

次の手順Next steps