Java Web アプリをビルドしてデプロイする

Azure DevOps Services

Web アプリは、Web アプリケーションをホストするための軽量の方法です。 この手順ガイドでは、Java アプリを継続的にビルドしてデプロイするパイプラインを作成する方法について説明します。 コミットするたびに、GitHub で自動的にビルドを行い、Azure App Service にデプロイすることができます。 任意のランタイム、Tomcat、または Java SE を使用できます。

詳しくは、Azure App Service 用の Java に関する記事をご覧ください。

ヒント

Java アプリのビルドだけが必要な場合は、「Java アプリをビルドする」をご覧ください。

前提条件

以下のものがそろっていることを確認してください。

  • リポジトリを作成できる GitHub アカウント。 無料で作成できます

  • Azure DevOps 組織。 無料で作成できます。 チームに既にある場合は、使用する Azure DevOps プロジェクトの管理者であることを確認します。

  • Microsoft によってホストされるエージェントでパイプラインを実行する機能。 Microsoft ホステッド エージェントを使用するには、Azure DevOps 組織が Microsoft ホステッド並列ジョブにアクセスできる必要があります。 並列ジョブを購入するか、無料の許可を要求することができます。

  • Azure アカウント。 持っていない場合は、無料で作成できます。

    ヒント

    初めて作成する場合、最も簡単な方法は、Azure Pipelines の組織と Azure サブスクリプションの両方の所有者と同じメール アドレスを使用することです。

コードを取得する

使うランタイムを選びます。

デプロイするアプリが GitHub に既にある場合は、そのコード用のパイプラインを作成できます。

新しいユーザーの場合は、GitHub でこのリポジトリをフォークします。

https://github.com/spring-petclinic/spring-framework-petclinic

Azure App Service の作成

Azure portal にサインインし、右上隅にある [Cloud Shell] ボタンを選択します。

Azure App Service on Linux を作成します。

# Create a resource group
az group create --location eastus2 --name myapp-rg

# Create an app service plan of type Linux
az appservice plan create -g myapp-rg -n myapp-service-plan --is-linux

# Create an App Service from the plan with Tomcat and JRE 8 as the runtime
az webapp create -g myapp-rg -p myapp-service-plan -n my-app-name --runtime "TOMCAT|8.5-jre8"

パイプラインを作成する

  1. Azure DevOps 組織にサインインし、プロジェクトに移動します。

  2. [パイプライン] に移動し、最初のパイプラインを作成する場合は [新しいパイプライン] または [[パイプラインの作成] を選択します。

  3. 最初に、ソース コードの場所として GitHub を選択し、ウィザードの手順を実行します。

  4. サインインするために GitHub にリダイレクトされる場合があります。 その場合は、GitHub の資格情報を入力します。

  5. リポジトリの一覧が表示されたら、目的のリポジトリを選択します。

  6. Azure Pipelines アプリをインストールするために、GitHub にリダイレクトされる場合があります。 その場合は、[承認してインストール] を選択します。

  1. [構成] タブが表示されたら、[詳細表示] を選んでから、[Linux on Azure に対する Maven パッケージ Java プロジェクト Web アプリ] を選びます。

  2. パイプラインを作成するときに、Azure Resource Manager サービス接続を自動的に作成できます。 始めるには、リソース グループを作成した Azure サブスクリプションを選びます。

  3. [Validate and configure] を選択します。 新しいパイプラインには、新しい Azure Resource Manager サービス接続が含まれています。

    Azure Pipelines によって作成された、CI/CD パイプラインを定義する azure-pipelines.yml ファイルでは、次のようになります。

    • プロジェクトをビルドするビルド ステージと、Linux Web アプリとして Azure にデプロイするデプロイ ステージを含めます。
    • デプロイ ステージの一環として、Web アプリと同じ既定の名前を持つ 環境も作成します。 環境の名前は変更できます。
  4. すべての既定の入力が自分のコードに適していることを確認します。

  5. [保存して実行] を選ぶと、azure-pipelines.yml ファイルがリポジトリに追加されるため、コミット メッセージの指定を求められます。 メッセージを編集した後、[保存して実行] をもう一度選んで、パイプラインの動作を確認します。

パイプラインの実行とアプリのデプロイを確認する

パイプラインが実行されると、ビルド ステージとデプロイ ステージが青 (実行中) から緑 (完了) に変わります。 パイプラインの動作を監視するには、ステージとジョブを選択できます。

パイプラインが実行されたら、サイトをチェックします。

https://my-app-name.azurewebsites.net/petclinic

また、"環境" に移動して、アプリのデプロイ履歴を調べます。 パイプラインの概要から:

  1. [環境] タブを選択します。
  2. [環境を表示する] を選択します。

リソースをクリーンアップする

作成したリソースを使い終わったら、次のコマンドを使用してリソースを削除できます。

az group delete --name myapp-rg

プロンプトが表示されたら、「y」を入力します。

次のステップ