Azure App Service への継続的デプロイContinuous deployment to Azure App Service

この記事では、Azure App Service の継続的デプロイを構成する方法を示します。This article shows you how to configure continuous deployment for Azure App Service. App Service は、BitBucket、GitHub、および Visual Studio Team Services (VSTS) サービスの既存のリポジトリから最新の更新プログラムをプルすることで、これらのサービスから継続的デプロイを実行できます。App Service enables continuous deployment from BitBucket, GitHub, and Visual Studio Team Services (VSTS) by pulling in the most recent updates from your existing repository in one of these services.

Azure Portal に表示されないクラウド リポジトリ (GitLab など) の継続的デプロイを手動で構成する方法については、「Setting up continuous deployment using manual steps」(手動による手順を使用した継続的デプロイの設定) を参照してください。To find out how to configure continuous deployment manually from a cloud repository not listed by the Azure portal (such as GitLab), see Setting up continuous deployment using manual steps.

リポジトリを準備するPrepare your repository

App Service Kudu ビルド サーバーから自動ビルドを取得するには、リポジトリのルートに、プロジェクトの適切なファイルがあることを確認してください。To get automatic builds from the App Service Kudu build server, make sure that your repository root has the correct files in your project.

ランタイムRuntime ルート ディレクトリのファイルRoot directory files
ASP.NET (Windows のみ)ASP.NET (Windows only) *.sln*.csproj、または default.aspx*.sln, *.csproj, or default.aspx
ASP.NET CoreASP.NET Core *.sln または *.csproj*.sln or *.csproj
PHPPHP index.phpindex.php
Ruby (Linux のみ)Ruby (Linux only) GemfileGemfile
Node.jsNode.js server.jsapp.js、またはスタート スクリプトを含む package.jsonserver.js, app.js, or package.json with a start script
Python (Windows のみ)Python (Windows only) *.pyrequirements.txt、または runtime.txt*.py, requirements.txt, or runtime.txt
HTMLHTML default.htmdefault.htmldefault.aspindex.htmindex.html、または iisstart.htmdefault.htm, default.html, default.asp, index.htm, index.html, or iisstart.htm
WebJobsWebJobs App_Data/jobs/continuous (継続的 WebJobs の場合) または App_Data/jobs/triggered (トリガーされた WebJobs の場合) 配下の <job_name>/run.<extension><job_name>/run.<extension> under App_Data/jobs/continuous (for continuous WebJobs) or App_Data/jobs/triggered (for triggered WebJobs). 詳細については、Kudu WebJobs のドキュメントをご覧くださいFor more information, see Kudu WebJobs documentation
FunctionsFunctions Azure Functions の継続的なデプロイに関するページをご覧ください。See Continuous deployment for Azure Functions.

デプロイをカスタマイズするには、.deployment ファイルをリポジトリのルートに含めます。To customize your deployment, include a .deployment file in the repository root. 詳細については、「Custom Deployment (カスタム デプロイ)」および「Custom deployment script (カスタム デプロイ スクリプト)」を参照してください。For more information, see Customizing deployments and Custom deployment script.

注意

Visual Studio で開発する場合は、Visual Studio にリポジトリを自動作成させてください。If you develop in Visual Studio, let Visual Studio create a repository for you. プロジェクトは Git を使用してすぐにデプロイできます。The project is immediately ready to be deployed using Git.

準備したリポジトリをサポートされているサービスのいずれかに発行します。Publish your prepared repository to one of the supported services. これらのサービスにプロジェクトを発行する方法の詳細については、「Create a repo (GitHub) (リポジトリの作成 (GitHub))」、「Create a repo (BitBucket) (リポジトリの作成 (BitBucket))」、「Get started with VSTS (VSTS で作業を始める) (VSTS で作業を始める)」を参照してください。For more information on publishing your project to these services, see Create a repo (GitHub), Create a repo (BitBucket), and Get started with VSTS.

GitHub からの継続的デプロイDeploy continuously from GitHub

GitHub を使用する継続的デプロイを有効にするには、Azure Portal の App Service アプリ のページに移動します。To enable continuous deployment with GitHub, navigate to your App Service app page in the Azure portal.

左側のメニューで、[デプロイ センター] > [GitHub] > [承認] をクリックします。In the left menu, click Deployment Center > GitHub > Authorize. 承認のプロンプトに従います。Follow the authorization prompts.

GitHub の承認は、1 回のみ実行する必要があります。You only need to authorize with GitHub once. 既に承認されている場合は、[続行] をクリックします。If you're already authorized, just click Continue. [アカウントの変更] をクリックすることで、承認された GitHub アカウントを変更できます。You can change the authorized GitHub account by clicking Change account.

[ビルド プロバイダー] ページで、ビルド プロバイダーを選択し、[続行] をクリックします。In the Build provider page, choose the build provider and click > Continue.

オプション 1: App Service Kudu ビルド サーバーを使用するOption 1: use App Service Kudu build server

[構成] ページで、継続的デプロイのソースになる組織、リポジトリ、およびブランチを選択します。In the Configure page, select the organization, repository, and branch from which you want to deploy continuously. 完了したら、[続行] をクリックします。When finished, click Continue.

オプション 2: VSTS の継続的デリバリーを使用するOption 2: use VSTS continuous delivery

注意

App Service で必要なビルドを作成して VSTS アカウントで定義をリリースするには、Azure アカウントが Azure サブスクリプションの所有者ロールを持っている必要があります。For App Service to create the necessary build and release definitions in your VSTS account, your Azure account must have the role of Owner in your Azure subscription.

[構成] ページの [コード] セクションで、継続的デプロイのソースになる組織、リポジトリ、およびブランチを選択します。In the Configure page, in the Code section, select the organization, repository, and branch from which you want to deploy continuously. 完了したら、[続行] をクリックします。When finished, click Continue.

[構成] ページの [ビルド] セクションで、新しい VSTS アカウントを構成するか、既存のアカウントを指定します。In the Configure page, in the Build section, configure a new VSTS account or specify an existing account. 完了したら、[続行] をクリックします。When finished, click Continue.

注意

表示されない既存の VSTS アカウントを使用する場合は、VSTS アカウントを Azure サブスクリプションにリンクする必要があります。If you want to use an existing VSTS account that is not listed, you need to link the VSTS account to your Azure subscription.

[テスト] ページで、ロード テストを有効にするかどうかを選択し、[続行] をクリックします。In the Test page, choose whether to enable load tests, then click Continue.

App Service プランの価格レベルによっては、[ステージングへのデプロイ] ページも表示される場合があります。Depending on the pricing tier of your App Service plan, you may also see a Deploy to staging page. デプロイ スロットを有効にするかどうかを選択し、[続行] をクリックします。Choose whether to enable deployment slots, then click Continue.

構成を終了するFinish configuration

[概要] ページで、選択内容を確認し、[完了] をクリックします。In the Summary page, verify your options and click Finish.

構成が完了したら、選択したリポジトリ内の新しいコミットが App Service アプリに継続的にデプロイされます。When configuration completes, new commits in the selected repository are deployed continuously into your App Service app.

BitBucket からの継続的デプロイDeploy continuously from BitBucket

BitBucket を使用する継続的デプロイを有効にするには、Azure Portal の App Service アプリ のページに移動します。To enable continuous deployment with BitBucket, navigate to your App Service app page in the Azure portal.

左側のメニューで、[デプロイ センター] > [BitBucket] > [承認] をクリックします。In the left menu, click Deployment Center > BitBucket > Authorize. 承認のプロンプトに従います。Follow the authorization prompts.

BitBucket の承認は、1 回のみ実行する必要があります。You only need to authorize with BitBucket once. 既に承認されている場合は、[続行] をクリックします。If you're already authorized, just click Continue. [アカウントの変更] をクリックすることで、承認された BitBucket アカウントを変更できます。You can change the authorized BitBucket account by clicking Change account.

[構成] ページで、継続的デプロイのソースになるリポジトリとブランチを選択します。In the Configure page, select the repository and branch from which you want to deploy continuously. 完了したら、[続行] をクリックします。When finished, click Continue.

[概要] ページで、選択内容を確認し、[完了] をクリックします。In the Summary page, verify your options and click Finish.

構成が完了したら、選択したリポジトリ内の新しいコミットが App Service アプリに継続的にデプロイされます。When configuration completes, new commits in the selected repository are deployed continuously into your App Service app.

VSTS からの継続的デプロイDeploy continuously from VSTS

VSTS を使用する継続的デプロイを有効にするには、Azure Portal の App Service アプリ のページに移動します。To enable continuous deployment with VSTS, navigate to your App Service app page in the Azure portal.

左側のメニューで、[デプロイ センター] > [VSTS] > [承認] をクリックします。In the left menu, click Deployment Center > VSTS > Continue.

[ビルド プロバイダー] ページで、ビルド プロバイダーを選択し、[続行] をクリックします。In the Build provider page, choose the build provider and click > Continue.

オプション 1: App Service Kudu ビルド サーバーを使用するOption 1: use App Service Kudu build server

[構成] ページで、継続的デプロイのソースになる VSTS アカウント、プロジェクト、リポジトリ、およびブランチを選択します。In the Configure page, select the VSTS account, project, repository, and branch from which you want to deploy continuously. 完了したら、[続行] をクリックします。When finished, click Continue.

オプション 2: VSTS の継続的デリバリーを使用するOption 2: use VSTS continuous delivery

注意

App Service で必要なビルドを作成して VSTS アカウントで定義をリリースするには、Azure アカウントが Azure サブスクリプションの所有者ロールを持っている必要があります。For App Service to create the necessary build and release definitions in your VSTS account, your Azure account must have the role of Owner in your Azure subscription.

[構成] ページの [コード] セクションで、継続的デプロイのソースになる VSTS アカウント、プロジェクト、リポジトリ、およびブランチを選択します。In the Configure page, in the Code section, select the VSTS account, project, repository, and branch from which you want to deploy continuously. 完了したら、[続行] をクリックします。When finished, click Continue.

注意

表示されない既存の VSTS アカウントを使用する場合は、VSTS アカウントを Azure サブスクリプションにリンクする必要があります。If you want to use an existing VSTS account that is not listed, you need to link the VSTS account to your Azure subscription.

[構成] ページの [ビルド] セクションで、選択されたリポジトリに対して VSTS がビルド タスクを実行するために使用する必要がある言語フレームワークを指定します。In the Configure page, in the Build section, specify the language framework that VSTS should use to run the build tasks for your selected repository. 完了したら、[続行] をクリックします。When finished, click Continue.

[テスト] ページで、ロード テストを有効にするかどうかを選択し、[続行] をクリックします。In the Test page, choose whether to enable load tests, then click Continue.

App Service プランの価格レベルによっては、[ステージングへのデプロイ] ページも表示される場合があります。Depending on the pricing tier of your App Service plan, you may also see a Deploy to staging page. デプロイ スロットを有効にするかどうかを選択し、[続行] をクリックします。Choose whether to enable deployment slots, then click Continue.

構成を終了するFinish configuration

[概要] ページで、選択内容を確認し、[完了] をクリックします。In the Summary page, verify your options and click Finish.

構成が完了したら、選択したリポジトリ内の新しいコミットが App Service アプリに継続的にデプロイされます。When configuration completes, new commits in the selected repository are deployed continuously into your App Service app.

継続的なデプロイの無効化Disable continuous deployment

継続的デプロイを無効にするには、Azure Portal の App Service アプリ のページに移動します。To disable continuous deployment, navigate to your App Service app page in the Azure portal.

左側のメニューで、[デプロイ センター] > [GitHub] または [VSTS] または [BitBucket] > [切断] をクリックします。In the left menu, click Deployment Center > GitHub or VSTS or BitBucket > Disconnect.

使用しているアプリはデプロイ中にどうなりますか?What happens to my app during deployment?

正式にサポートされているすべてのデプロイ方法には、アプリの /site/home/wwwroot フォルダー内のファイルに変更を加えるという 1 つの共通点があります。All the officially supported deployment methods have one thing in common: they make changes to the files in the /site/home/wwwroot folder of your app. これらは、運用環境で実行されているのと同じファイルです。These are the same files that are run in production. そのため、ロックされたファイルが原因でデプロイが失敗する可能性があります。あるいは、すべてのファイルが同時に更新されるわけではないために、デプロイ中に運用環境のアプリが予期しない動作をする場合があります。Therefore, the deployment can fail due to locked files, or the app in production may have unpredictable behavior during deployment because not all the files are updated simultaneously. これらの問題を回避するにはいくつかの方法があります。There are a few different ways to avoid these issues:

その他のリソースAdditional Resources