Azure Toolkit for IntelliJ を使用して Azure Web Apps for Containers に Java アプリをデプロイする

Docker コンテナーは、Web アプリケーションをデプロイするために広く使用されている方法です。 Docker コンテナーを使用すると、開発者は、すべてのプロジェクト ファイルと依存関係を、サーバーにデプロイするために 1 つのパッケージに統合できます。 Azure Toolkit for IntelliJ には、Microsoft Azure にコンテナーをデプロイする機能が追加されているため、Java 開発者はこのプロセスを簡略化できます。

この記事では、基本的な Hello World Web アプリを作成し、Azure Toolkit for IntelliJ を使用して Azure 用の Linux コンテナーに Web アプリを発行するために必要な手順について説明します。

前提条件

  • Docker クライアント。

Note

このチュートリアルの手順を実行するには、TLS を使用せず、ポート 2375 でデーモンを公開する Docker を構成する必要があります。 この設定は、Docker のインストール時、または、[Docker の設定] メニューから構成できます。

Docker settings menu

インストールとサインイン

次の手順では、IntelliJ 開発環境での Azure サインイン プロセスについて説明します。

  1. プラグインをインストールしていない場合は、「Azure Toolkit for IntelliJ のインストール」を参照してください。

  2. Azure アカウントにサインインするには、左側の [Azure Explorer] サイドバーに移動し、[Azure サインイン] アイコンをクリックします。 または、[ツール] に移動し、[Azure] を展開して、[Azure サインイン] をクリックします。

    Sign in to Azure on IntelliJ.

  3. [Azure サインイン] ウィンドウで、[Device Login]\(デバイスのログイン\) を選択し、次に [サインイン] をクリックします (他のサインイン オプション)。

  4. [Azure Device Login]\(Azure デバイスのログイン\) ダイアログで [Copy&Open]\(コピーして開く\) をクリックします。

  5. ブラウザーで、該当のデバイス コード (前の手順で [Copy&Open]\(コピーして開く\) をクリックしたときにコピーされたもの) を貼り付け、[次へ] をクリックします。

  6. Azure アカウントを選択し、サインインするために必要な認証手順を完了します。

  7. サインインしたら、ブラウザーを閉じて IntelliJ IDE に戻ります。 [Select Subscriptions]\(サブスクリプションの選択\) ダイアログ ボックスで、使用するサブスクリプションを選択し、[Select]\(選択\) をクリックします。

新しい Web アプリ プロジェクトの作成

  1. [File]\(ファイル\) をクリックし、[New]\(新規\) を展開して、[Project]\(プロジェクト\) をクリックします。

  2. [New Project]\(新しいプロジェクト\) ダイアログ ボックスで、[Maven] を選択し、[Create from Archetype]\(アーキタイプから作成\) オプションがオンになっていることを確認します。 一覧から [maven-archetype-webapp] を選択し、[Next]\(次へ\) をクリックします。

    Select the maven-archetype-webapp option.

  3. [Artifact Coordinates]\(成果物の調整\) ドロップダウンを展開してすべての入力フィールドを表示し、新しい Web アプリに次の情報を指定して、[Next]\(次へ\) をクリックします。

    • 名前: Web アプリの名前。 これは、Web アプリの ArtifactId フィールドに自動的に入力されます。
    • GroupId: アーティファクト グループの名前 。通常は会社が行いますメイン。 (例: com.microsoft.azure)
    • バージョン: 既定のバージョン 1.0-SNAPSHOT を保持します。
  4. Maven 設定をカスタマイズするか、既定の設定をそのまま使用し、[Finish]\(完了\) をクリックします。

  5. 左側の [Project]\(プロジェクト\) タブでプロジェクトに移動し、ファイル src/main/webapp/index.jsp を開きます。 コードを次の内容に置き換え、変更を保存します

    <html>
     <body>
       <b><% out.println("Hello World!"); %></b>
     </body>
    </html>
    

    Open the index.jsp file.

Azure Container Registry をプライベート Docker レジストリとして使用するために作成する

Azure Portal を使用して Azure Container Registry を作成する手順を説明します。

Note

Azure Portal ではなく Azure CLI を使用する場合は、「Azure CLI 2.0 を使用したプライベート Docker コンテナー レジストリの作成」の手順に従います。

  1. Azure Portalを参照して、サインインします。

    Azure Portal のアカウントにサインインしたら、「Azure Portal を使用したプライベート Docker コンテナー レジストリの作成」の記事の手順に従います。便宜上、この手順を改めて以下で説明します。

  2. [+ リソースの作成] のメニュー アイコンをクリックし、[コンテナー] カテゴリをクリックし、[コンテナー レジストリ] をクリックします。

  3. [コンテナー レジストリの作成] ページが表示されたら、次の情報を指定します。

    • サブスクリプション: 新しいコンテナー レジストリに使用する Azure サブスクリプションを指定します。

    • リソース グループ: コンテナー レジストリのリソース グループを指定します。 次のいずれかのオプションを選択してください。

      • [新規作成]: 新しいリソース グループを作成することを指定します。
      • [既存のものを使用]: Azure アカウントに関連付けられているリソース グループの一覧から選択することを指定します。
    • レジストリ名: 新しいコンテナー レジストリの名前を指定します。

    • 場所: コンテナー レジストリを作成するリージョン ("米国西部" など) を指定します。

    • SKU: コンテナー レジストリのサービス レベルを指定します。 このチュートリアルでは、[Basic]\(ベーシック\) を選択します。 詳細については、「Azure Container Registry サービス階層」を参照してください。

  4. [確認および作成] をクリックし、情報が正しいことを確認します。 [作成] をクリックして完了します。

Docker コンテナーに Web アプリを配置する

次の手順では、Web アプリの Docker サポートを構成し、Docker コンテナーに Web アプリをにデプロイする手順について説明します。

  1. 左側の [プロジェクト] タブでプロジェクトに移動し、対象のプロジェクトを右クリックします。 [Azure] を展開し、[Add Docker Support]\(Docker サポートの追加\) をクリックします。

    既定の構成の Docker ファイルが自動的に作成されます。

    The docker support file.

  2. Docker のサポートを追加したら、プロジェクト エクスプローラーでプロジェクトを右クリックし、[Azure] を展開し、[Run on Web App for Containers]\(Web App for Containers で実行\) をクリックします。

  3. [Run on Web App for Containers]\(Web App for Containers で実行\) ダイアログ ボックスで、次の情報を入力します。

    • [名前]: Azure Toolkit に表示されるフレンドリ名を指定します。

    • コンテナー レジストリ: この記事の前のセクションで作成したドロップダウン メニューからコンテナー レジストリを選択します。 [サーバーの URL][ユーザー名][パスワード] の各フィールドには、値が自動的に入力されます。

    • [Image and tag]\(イメージとタグ\): コンテナー イメージ名を指定します。通常、"registry.azurecr.io/appname: latest" の構文が使用されます。ここで、

      • registry は、この記事の前のセクションで説明されているコンテナー レジストリを指します。
      • appname は、Web アプリの名前です。
    • [Use Existing Web App]\(既存の Web アプリを使用\) または[Create New Web App]\(新しい Web アプリの作成\): 既存の Web アプリへコンテナーを展開するか、または新しい Web アプリを作成するかを指定します。 指定したアプリ名を使用して Web アプリの URL が作成されます (例: wingtiptoys.azurewebsites.net)。

    • [リソース グループ] で、新しいリソース グループを作成するか、既存のリソース グループを使用するかを指定します。

    • App Service プラン: 既存の App Service プランを使用するか、新しい App Service プランを作成するかを指定します。

  4. 上記の設定の構成が完了したら、[実行] をクリックします。 Web アプリが正常にデプロイされると、[実行] ウィンドウに状態が表示されます。

  5. Web アプリが発行されたら、以前に指定した Web アプリの URL (例: wingtiptoys.azurewebsites.net) を参照できます。

    Browsing to your web app

省略可能: Web アプリの発行設定を変更する

  1. Web アプリを発行すると、使用した設定が既定の設定として保存されます。ツール バーの緑色の矢印アイコンをクリックすると、Azure でアプリケーションを実行できます。 設定を変更するには、Web アプリのドロップダウン メニューをクリックし、[構成の編集] をクリックします。

    Edit configuration menu.

  2. [Run/Debug Configurations]\(構成の実行/デバッグ\) ダイアログ ボックスが表示されたら、既定の設定を変更し、[OK] をクリックします。

次のステップ

Docker の他のリソースについては、公式の Docker の Web サイトを参照してください。

バグを報告したり、新機能を要求したりするには、GitHub リポジトリで問題を作成するか、タグ azure-java-tools を使用して Stack Overflow に関する質問をします。

Azure での Java の使用方法の詳細については、以下のリンクを参照してください。