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、および Azure DevOps Services の既存のリポジトリから最新の更新プログラムをプルすることで、これらのサービスから継続的デプロイを実行できます。App Service enables continuous deployment from BitBucket, GitHub, and Azure DevOps Services 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))」、「Azure DevOps Services の概要」を参照してください。For more information on publishing your project to these services, see Create a repo (GitHub), Create a repo (BitBucket), and Get started with Azure DevOps Services.

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: Azure DevOps Services の継続的デリバリーを使用するOption 2: use Azure DevOps Services continuous delivery

注意

App Service で必要な Azure Pipelines を Azure DevOps Services 組織に作成するには、Azure アカウントが Azure サブスクリプションの所有者ロールを持っている必要があります。For App Service to create the necessary Azure Pipelines in your Azure DevOps Services organization, 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.

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

注意

一覧にない既存の Azure DevOps Services 組織を使用する場合、Azure DevOps Services 組織を Azure サブスクリプションにリンクする必要があります。If you want to use an existing Azure DevOps Services organization that is not listed, you need to link the Azure DevOps Services organization 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.

Azure DevOps Services から継続的にデプロイするDeploy continuously from Azure DevOps Services

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

左側のメニューで、[デプロイ センター] > [Azure DevOps Services] > [承認] をクリックします。In the left menu, click Deployment Center > Azure DevOps Services > 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

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

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

注意

App Service で必要な Azure Pipelines を Azure DevOps Services 組織に作成するには、Azure アカウントが Azure サブスクリプションの所有者ロールを持っている必要があります。For App Service to create the necessary Azure Pipelines in your Azure DevOps Services organization, your Azure account must have the role of Owner in your Azure subscription.

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

注意

一覧にない既存の Azure DevOps Services 組織を使用する場合、Azure DevOps Services 組織を Azure サブスクリプションにリンクする必要があります。If you want to use an existing Azure DevOps Services organization that is not listed, you need to link the Azure DevOps Services organization to your Azure subscription.

[構成] ページの [ビルド] セクションで、選択されたリポジトリに対して Azure DevOps Services がビルド タスクを実行するために使用する必要がある言語フレームワークを指定します。In the Configure page, in the Build section, specify the language framework that Azure DevOps Services 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] または [Azure DevOps Services] または [BitBucket] > [切断] をクリックします。In the left menu, click Deployment Center > GitHub or Azure DevOps Services 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