Azure DevOps Services
Web アプリは、Web アプリケーションをホストするための軽量な方法です。 このステップ バイ ステップ ガイドでは、Java アプリを継続的にビルドしてデプロイするパイプラインを作成する方法について説明します。 各コミットは GitHub で自動的にビルドされ、Azure App Service にデプロイされます。 任意のランタイム、Tomcat、または Java SE を使用できます。
詳細については、「 Java for Azure App Service」を参照してください。
ヒント
Java アプリのみをビルドする場合は、「Java アプリの ビルド」を参照してください。
[前提条件]
| 製品 | 要件 |
|---|---|
| Azure DevOps | - Azure DevOps プロジェクト。 - Microsoft がホストするエージェントでパイプラインを実行する機能。 並列ジョブを購入するか、Free レベルを要求できます。 - YAML と Azure Pipelines に関する基本的な知識。 詳細については、「最初のパイプラインの作成」を参照してください。 - アクセス許可: - パイプラインを作成するには、 共同作成者 グループに含まれている必要があり、グループには [ ビルド パイプラインの作成 ] アクセス許可が [許可] に設定されている必要があります。 プロジェクト管理者グループのメンバーは、パイプラインを管理できます。 - サービス接続を作成するには、サービス接続の管理者ロールまたは作成者ロールが必要です。 |
| GitHubの | - GitHub アカウント。 - Azure Pipelines を承認するための GitHub サービス接続 。 |
| 紺碧 | Azure サブスクリプション。 |
| 製品 | 要件 |
|---|---|
| Azure DevOps | - Azure DevOps プロジェクト。 - セルフホステッド エージェント。 作成する方法については、「セルフホステッド エージェント」を参照してください。 - YAML と Azure Pipelines に関する基本的な知識。 詳細については、「最初のパイプラインの作成」を参照してください。 - アクセス許可: - パイプラインを作成するには、 共同作成者 グループに含まれている必要があり、グループには [ ビルド パイプラインの作成 ] アクセス許可が [許可] に設定されている必要があります。 プロジェクト管理者グループのメンバーは、パイプラインを管理できます。 - サービス接続を作成するには、サービス接続の管理者ロールまたは作成者ロールが必要です。 |
| GitHubの | - GitHub アカウント。 - Azure Pipelines を承認するための GitHub サービス接続 。 |
| 紺碧 | 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"
パイプラインを作成する
Azure DevOps プロジェクトで、左側のナビゲーション メニューから [パイプライン ] を選択します。
このパイプラインがプロジェクトの最初のパイプラインである場合は、[ 新しい パイプライン] または [パイプラインの 作成 ] を選択します。
[コードの場所] 画面で、GitHub を選択します。
サインインするために GitHub にリダイレクトされる場合があります。 その場合は、GitHub の資格情報を入力します。
[ リポジトリの選択 ] 画面で、.NET アプリが含まれているリポジトリを選択します。
Azure Pipelines アプリをインストールするために、GitHub にリダイレクトされる場合があります。 その場合は、[承認してインストール] を選択します。
[構成] タブが表示されたら、[さらに表示] を選択し、Maven パッケージの Java プロジェクト Web App to Linux on Azure を選択します。
パイプラインを作成するときに、 Azure Resource Manager サービス接続 を自動的に作成できます。 開始するには、リソース グループを作成した Azure サブスクリプションを選択します。
[Validate and configure](検証および構成) を選択します。 新しいパイプラインには、新しい Azure Resource Manager サービス接続が含まれています。
Azure Pipelines によって、CI/CD パイプラインを定義するazure-pipelines.yml ファイルが作成されると、次のようになります。
- プロジェクトをビルドするビルド ステージと、Linux Web アプリとして Azure にデプロイするデプロイ ステージが含まれます。
- Deploy ステージの一部として、Web アプリと同じ既定の名前を持つ 環境 も作成します。 環境名の変更を選択できます。
すべての既定の入力がコードに適していることを確認します。
[保存して実行] を選択すると、azure-pipelines.yml ファイルがリポジトリに追加されるため、コミット メッセージの入力を求められます。 メッセージを編集したら、[ 保存] を選択してもう一度実行し、パイプラインの動作を確認します。
パイプラインの実行とアプリのデプロイを確認する
パイプラインを実行すると、ビルドとデプロイのステージが青 (実行中) から緑 (完了) に移行します。 パイプラインの動作を監視するには、ステージとジョブを選択します。
また、"環境" に移動して、アプリのデプロイ履歴を調べることもできます。 パイプラインの概要から:
- 環境タブを選択します。
- [環境を表示する] を選択します。
リソースをクリーンアップする
作成したリソースを使い終わったら、次のコマンドを使用してリソースを削除できます。
az group delete --name myapp-rg
プロンプトが表示されたら、「y」を入力します。