Azure Functions の継続的なデプロイContinuous deployment for Azure Functions

Azure Functions を使用し、ソース管理の統合を使用してコードを継続的にデプロイできます。You can use Azure Functions to deploy your code continuously by using source control integration. ソース管理の統合を使用すると、コードの更新によって Azure へのデプロイがトリガーされるワークフローが可能になります。Source control integration enables a workflow in which a code update triggers deployment to Azure. Azure Functions を初めて使う場合は、まず「Azure Functions の概要」を参照してください。If you're new to Azure Functions, get started by reviewing the Azure Functions overview.

複数の頻繁に発生する投稿を統合する場合、継続的なデプロイはプロジェクトに最適なオプションとなります。Continuous deployment is a good option for projects where you integrate multiple and frequent contributions. 継続的なデプロイを使用すると、コードに対して真実の 1 つの情報源が維持されるため、チームは簡単に共同作業できます。When you use continuous deployment, you maintain a single source of truth for your code, which allows teams to easily collaborate. 次のソース コードの場所から、Azure Functions での継続的なデプロイを構成できます。You can configure continuous deployment in Azure Functions from the following source code locations:

Azure の関数のデプロイの単位は関数アプリです。The unit of deployment for functions in Azure is the function app. 関数アプリ内のすべての関数は同時にデプロイされます。All functions in a function app are deployed at the same time. 信頼できるソースが他の場所に設定されているため、継続的なデプロイが有効になった後、Azure portal での関数コードへのアクセスは 読み取り専用 として構成されます。After you enable continuous deployment, access to function code in the Azure portal is configured as read-only because the source of truth is set to be elsewhere.

継続的なデプロイの要件Requirements for continuous deployment

継続的なデプロイを成功させるには、ディレクトリ構造が、Azure Functions が期待する基本フォルダー構造との互換性を備えている必要があります。For continuous deployment to succeed, your directory structure must be compatible with the basic folder structure that Azure Functions expects.

特定の関数アプリ内のすべての関数のコードは、ホスト構成ファイルと 1 つ以上のサブフォルダーを含むルート プロジェクト フォルダーにあります。The code for all the functions in a specific function app is located in a root project folder that contains a host configuration file and one or more subfolders. 各サブフォルダーには、個別の関数のコードが含まれています。Each subfolder contains the code for a separate function. フォルダー構造は、次の図のように表示されます。The folder structure is shown in the following representation:

 | - host.json
 | - MyFirstFunction
 | | - function.json
 | | - ...  
 | - MySecondFunction
 | | - function.json
 | | - ...  
 | - SharedCode
 | - bin

Functions ランタイムのバージョン 2.x およびそれ以上では、関数アプリ内のすべての関数が同じ言語スタックを共有する必要があります。In version 2.x and higher of the Functions runtime, all functions in the function app must share the same language stack.

host.json ファイルにはランタイム固有の構成が含まれています。このファイルは関数アプリのルート フォルダーにあります。The host.json file contains runtime-specific configurations and is in the root folder of the function app. bin フォルダーには、関数アプリに必要なパッケージやその他のライブラリ ファイルが含まれています。A bin folder contains packages and other library files that the function app requires. 関数アプリ プロジェクトの言語固有の要件を参照してください。See the language-specific requirements for a function app project:


継続的なデプロイは、従量課金プランで実行されている Linux アプリではまだサポートされていません。Continuous deployment is not yet supported for Linux apps running on a Consumption plan.

継続的なデプロイを設定するSet up continuous deployment

既存の関数アプリの継続的なデプロイを構成するには、次の手順を実行します。To configure continuous deployment for an existing function app, complete these steps. この手順は GitHub リポジトリとの統合を示しますが、Azure Repos またはその他のソース コード リポジトリに対しても同様の手順が適用されます。The steps demonstrate integration with a GitHub repository, but similar steps apply for Azure Repos or other source code repositories.

  1. Azure portal の関数アプリで、 [管理者用センター] を選択し、 [GitHub] を選択してから、 [承認] を選択します。In your function app in the Azure portal, select Deployment Center, select GitHub, and then select Authorize. GitHub が既に承認済みの場合は、 [続行] を選択し、次のステップをスキップします。If you've already authorized GitHub, select Continue and skip the next step.

    Azure App Service 管理者用センター

  2. GitHub で、 [Authorize AzureAppService](AzureAppService を承認する) を選択します。In GitHub, select Authorize AzureAppService.

    Azure App Service を承認する

    GitHub パスワードを入力し、 [続行] を選択します。Enter your GitHub password and then select Continue.

  3. 次のビルド プロバイダーのいずれかを選択します。Select one of the following build providers:

    • App Service のビルド サービス:ビルドが不要な場合、または汎用ビルドが必要な場合に最適です。App Service build service: Best when you don't need a build or if you need a generic build.
    • Azure Pipelines (プレビュー) :ビルドをより細かく制御する必要がある場合に最適です。Azure Pipelines (Preview): Best when you need more control over the build. このプロバイダーは現在プレビュー段階です。This provider currently is in preview.

    [続行] をクリックします。Select Continue.

  4. 指定したソース管理オプションに固有の情報を構成します。Configure information specific to the source control option you specified. GitHub では、 [Organization](組織)[Repository](リポジトリ) 、および [Branch](ブランチ) の値を入力または選択する必要があります。For GitHub, you must enter or select values for Organization, Repository, and Branch. 値は、お客様のコードの場所によって決まります。The values are based on the location of your code. その後、 [続行] を選択します。Then, select Continue.

    GitHub を構成する

  5. すべての詳細を確認し、 [完了] を選択してデプロイ構成を完了します。Review all details, and then select Finish to complete your deployment configuration.

プロセスが完了すると、指定されたソースからのすべてのコードがアプリにデプロイされます。When the process is finished, all code from the specified source is deployed to your app. その時点で、デプロイ ソースの変更により、Azure 内の関数アプリにそれらの変更をデプロイする処理がトリガーされます。At that point, changes in the deployment source trigger a deployment of those changes to your function app in Azure.


継続的インテグレーションを構成した後は、Functions のポータルでソース ファイルを編集することはできなくなります。After you configure continuous integration, you can no longer edit your source files in the Functions portal.

次のステップNext steps