AzureFunctionApp@1 - v1 タスクをAzure Functionsする

.NET、Python、JavaScript、PowerShell、Java ベースの Web アプリケーションを使用して関数アプリを更新します。

Linux または Windows 用の Azure 関数をデプロイします。

構文

# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|6.0' | 'DOTNET-ISOLATED|6.0' | 'DOTNET-ISOLATED|7.0' | 'DOTNET-ISOLATED|8.0' | 'JAVA|8' | 'JAVA|11' | 'JAVA|17' | 'JAVA|21' | 'NODE|14' | 'NODE|16' | 'NODE|18' | 'NODE|20' | 'PYTHON|3.8' | 'PYTHON|3.9' | 'PYTHON|3.10' | 'PYTHON|3.11'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'DOTNET|6.0' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'NODE|16' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8' | 'PYTHON|3.9'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. Azure Functions App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOTNET|2.2' | 'DOTNET|3.1' | 'JAVA|8' | 'JAVA|11' | 'NODE|8' | 'NODE|10' | 'NODE|12' | 'NODE|14' | 'PYTHON|3.6' | 'PYTHON|3.7' | 'PYTHON|3.8'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.
# Azure Functions Deploy v1
# Deploy an Azure Function for Linux or Windows.
- task: AzureFunctionApp@1
  inputs:
    azureSubscription: # string. Required. Azure Resource Manager connection. 
    appType: # 'functionApp' | 'functionAppLinux'. Required. App type. 
    appName: # string. Required. App name. 
    #deployToSlotOrASE: false # boolean. Deploy to Slot or App Service Environment. Default: false.
    #resourceGroupName: # string. Required when deployToSlotOrASE = true. Resource group. 
    #slotName: 'production' # string. Required when deployToSlotOrASE = true. Slot. Default: production.
    package: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
    #runtimeStack: # 'DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0' | 'DOCKER|microsoft/azure-functions-node8:2.0'. Optional. Use when appType = functionAppLinux. Runtime stack. 
    #startUpCommand: # string. Optional. Use when appType = functionAppLinux. Startup command. 
  # Application and Configuration Settings
    #customWebConfig: # string. Optional. Use when appType != functionAppLinux && package NotEndsWith .war. Generate web.config parameters for Python, Node.js, Go and Java apps. 
    #appSettings: # string. App settings. 
    #configurationStrings: # string. Configuration settings. 
  # Additional Deployment Options
    #deploymentMethod: 'auto' # 'auto' | 'zipDeploy' | 'runFromPackage'. Required when appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar. Deployment method. Default: auto.

入力

azureSubscription - Azure Resource Manager接続
string. 必須です。

デプロイの Azure Resource Manager サブスクリプションを選択します。


appType - アプリの種類
string. 必須です。 使用できる値: functionApp (Windows 上の関数アプリ) functionAppLinux 、(Linux 上の関数アプリ)。


appName - Azure Functions アプリ名
string. 必須です。

既存のAzure Functions アプリの名前を入力または選択します。 表示される関数アプリは、選択したアプリの種類に基づいて表示されます。


appName - アプリ名
string. 必須です。

既存のAzure Functions アプリの名前を入力または選択します。 表示される関数アプリは、選択したアプリの種類に基づいて表示されます。


deployToSlotOrASE - スロットまたはApp Service Environmentにデプロイする
boolean. 既定値: false

既存のデプロイ スロットまたは Azure App Service 環境にデプロイします。 どちらのターゲットでも、タスクにはリソース グループ名が必要です。

デプロイ ターゲットがスロットの場合、既定では 運用 スロットになります。 その他の既存のスロット名も指定できます。

デプロイ ターゲットがAzure App Service環境の場合は、スロット名を運用環境のままにし、リソース グループ名を指定します。


resourceGroupName - リソース グループ
string. deployToSlotOrASE = true の場合に必要です。

デプロイ ターゲットがデプロイ スロットまたはApp Service Environmentである場合は、リソース グループ名が必要です。

上記で指定したAzure App Serviceを含む Azure リソース グループを入力または選択します。


slotName - スロット
string. deployToSlotOrASE = true の場合に必要です。 既定値: production

運用スロットを除く既存のスロットを入力または選択します。


package - パッケージまたはフォルダー
string. 必須です。 既定値: $(System.DefaultWorkingDirectory)/**/*.zip

MSBuild、圧縮 zip ファイル、または war ファイルによって生成されたApp Serviceコンテンツを含むパッケージまたはフォルダーへのファイル パス。 変数 ( ビルド | リリース) とワイルドカードがサポートされています。 たとえば、「 $(System.DefaultWorkingDirectory)/**/*.zip or $(System.DefaultWorkingDirectory)/**/*.war 」のように入力します。


runtimeStack - ランタイム スタック
string. 省略可能。 の場合は appType = functionAppLinuxを使用します。 使用できる値: 、、、、DOTNET-ISOLATED|8.0、、JAVA|8JAVA|11JAVA|17、、JAVA|21NODE|16NODE|14PYTHON|3.9PYTHON|3.11NODE|18NODE|20PYTHON|3.8PYTHON|3.10DOTNET-ISOLATED|7.0DOTNET-ISOLATED|6.0DOTNET|6.0

関数アプリを実行するフレームワークとバージョンを指定します。 サポートされている任意のランタイム バージョンを使用できます。 のような DOCKER|microsoft/azure-functions-* 古い値は非推奨です。 タスク アシスタントのドロップダウン リストに新しい値が表示されます。 サポートされているランタイム バージョンで使用可能な新しいバージョンのフレームワークがある場合は、一覧にない場合でも指定できます。


runtimeStack - ランタイム スタック
string. 省略可能。 の場合は appType = functionAppLinuxを使用します。 使用できる値: DOTNET|2.2 (DOTNET|2.2 (functionapp v2))、 DOTNET|3.1 (DOTNET|3.1 (functionapp v3))、 DOTNET|6.0 (DOTNET|6.0 (functionapp v4)) JAVA|8 、(JAVA|8 (functionapp v2/v3/v4)) JAVA|11 、(JAVA|11 (functionapp v3/v4))、 NODE|8 (NODE|8 (functionapp v2))、 NODE|10 ( NODE|10 (functionapp v2/v3)、 NODE|12 (NODE|12 (functionapp v3))、 NODE|14 (NODE|14 (functionapp v3/v4))、 NODE|16 (NODE|16 (functionapp v4) PYTHON|3.6 )、(PYTHON|3.6 (functionapp v2/v3))、 PYTHON|3.7 (PYTHON|3.7 (functionapp v2/v3/v4)) PYTHON|3.8 (PYTHON|3.8 (functionapp v3/v4))、 PYTHON|3.9 (PYTHON|3.9 (functionapp v3/v4))。

関数アプリを実行するフレームワークとバージョンを指定します。 サポートされている任意のランタイム バージョンを使用できます。 のような DOCKER|microsoft/azure-functions-* 古い値は非推奨です。 タスク アシスタントのドロップダウン リストに新しい値が表示されます。 サポートされているランタイム バージョンで使用可能な新しいバージョンのフレームワークがある場合は、一覧にない場合でも指定できます。


runtimeStack - ランタイム スタック
string. 省略可能。 の場合は appType = functionAppLinuxを使用します。 使用できる値: DOTNET|2.2 (DOTNET|2.2 (functionapp v2))、 DOTNET|3.1 (DOTNET|3.1 (functionapp v3))、 JAVA|8 (JAVA|8 (functionapp v2/v3)) JAVA|11 、(JAVA|11 (functionapp v3)) NODE|8 、(NODE|8 (functionapp v2))、 NODE|10 (NODE|10 (functionapp v 2/v3))、 NODE|12 (NODE|12 (functionapp v3))、 NODE|14 (NODE|14 (functionapp v3))、 PYTHON|3.6 (PYTHON|3.6 (functionapp v2/v3)) PYTHON|3.7 、(PYTHON|3.7 (functionapp v2/v3))、 PYTHON|3.8 (PYTHON|3.8 (functionapp v3)) 。

関数アプリを実行するフレームワークとバージョンを指定します。 サポートされている任意のランタイム バージョンを使用できます。 のような DOCKER|microsoft/azure-functions-* 古い値は非推奨です。 タスク アシスタントのドロップダウン リストに新しい値が表示されます。 サポートされているランタイム バージョンで使用可能な新しいバージョンのフレームワークがある場合は、一覧にない場合でも指定できます。


runtimeStack - ランタイム スタック
string. 省略可能。 の場合は appType = functionAppLinuxを使用します。 使用できる値: DOCKER|microsoft/azure-functions-dotnet-core2.0:2.0 (.NET)、 DOCKER|microsoft/azure-functions-node8:2.0 (JavaScript)。

関数アプリを実行するフレームワークとバージョンを指定します。 サポートされている任意のランタイム バージョンを使用できます。 のような DOCKER|microsoft/azure-functions-* 古い値は非推奨です。 タスク アシスタントのドロップダウン リストに新しい値が表示されます。 サポートされているランタイム バージョンで使用可能な新しいバージョンのフレームワークがある場合は、一覧にない場合でも指定できます。


startUpCommand - スタートアップ コマンド
string. 省略可能。 の場合は appType = functionAppLinuxを使用します。

スタートアップ コマンドを入力します。 例:

dotnet run
dotnet filename.dll


customWebConfig - Python、Node.js、Go、Java アプリの web.config パラメーターを生成する
string. 省略可能。 の場合は appType != functionAppLinux && package NotEndsWith .warを使用します。

標準 Web.config が生成され、アプリケーションに存在しない場合はAzure App Serviceにデプロイされます。 web.config の値は、アプリケーション フレームワークによって異なり、編集できます。 たとえば、node.js アプリケーションの場合、web.config にはスタートアップ ファイルとiis_nodeモジュール値があります。 この編集機能は、 生成された web.configに対してのみ使用されます。


appSettings - アプリの設定
string.

構文-key valueを使用してアプリケーション設定を入力します (例:-RequestTimeout 5000-Port 5000-WEBSITE_TIME_ZONE )。 スペースを含む値を二重引用符で囲みます (例: "Eastern Standard Time")。


configurationStrings - 構成設定
string.

構文 -key value を使用して構成文字列を入力します (例: -phpVersion 5.6-linuxFxVersion: node|6.11)。 スペースを含む値を二重引用符で囲みます。


deploymentMethod - デプロイ方法
string. appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar の場合に必要です。 使用できる値: auto (自動検出)、 zipDeploy (Zip 配置)、 runFromPackage (パッケージから実行を使用した Zip 配置)。 既定値: auto

アプリの デプロイ方法 を選択します。


deploymentMethod - デプロイ方法
string. appType != functionAppLinux && appType != "" && package NotEndsWith .war && Package NotEndsWith .jar の場合に必要です。 使用できる値: auto (自動検出)、 zipDeploy (Zip 配置)、 runFromPackage (パッケージから実行)。 既定値: auto

アプリの デプロイ方法 を選択します。


タスク制御オプション

すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。

出力変数

このタスクでは、ダウンストリームのステップ、ジョブ、およびステージで使用できる次の 出力変数を定義します。

AppServiceApplicationUrl
選択したApp Serviceのアプリケーション URL。

注釈

Azure Function アプリ タスクを使用して、関数を Azure にデプロイします。

デプロイ方法

このタスクでは、いくつかのデプロイ方法を使用できます。 既定値は auto です。

デザイナー タスクでパッケージ ベースの展開オプションを変更するには、[ 追加の展開オプション] を 展開し、[ 配置方法の選択] を有効にします。

このタスクでは、Azure App Service と Azure Pipelines エージェントの種類に基づいて、適切なデプロイ テクノロジが使用されます。 タスクで使用されるデプロイ テクノロジを次に示します。

既定では、このタスクは、入力パッケージ、App Service の種類、エージェント OS に基づいて、適切なデプロイ テクノロジを選択しようとします。

  • 配置後スクリプトが提供された場合は、Zip を使用します。
  • App Service の種類が、Web App on Linux の場合は、Zip デプロイを使用します。
  • .war ファイルが提供された場合は、War デプロイを使用します。
  • .jar ファイルが提供された場合は、Zip から実行を使用します。
  • その他すべてのタスクについては、パッケージから実行 (Zip Deploy 経由) を使用します。

Windows 以外のエージェントでは (App Service の種類を問わず)、タスクは Kudu REST API を使用して Web アプリをデプロイします。

Kudu REST API

Kudu REST API は、ターゲットが Web App on Windows、Web App on Linux (組み込みのソース)、または関数アプリのときには、Windows と Linux の両方の自動化エージェントで動作します。 このタスクでは、ファイルを Azure App Service にコピーするために Kudu を使用します。

ZIP デプロイ

Zip デプロイでは、選択したパッケージまたはフォルダーから .zip 展開パッケージを作成します。 その後で、ファイルの内容を Azure の App Service 名関数アプリの wwwroot フォルダーにデプロイします。 このオプションにより、wwwroot フォルダー内のすべての既存のコンテンツが上書きされます。 詳細については、「Azure Functions の zip デプロイ」を参照してください。

パッケージから実行

パッケージから実行は、Zip デプロイと同じ展開パッケージを作成します。 wwwroot フォルダーにファイルをデプロイするのではなく、Functions ランタイムがパッケージ全体をマウントします。 このオプションを使用すると、wwwroot フォルダー内のファイルは読み取り専用になります。 詳細については、「Run your Azure Functions from a package file」(パッケージ ファイルから Azure Functions を実行する) を参照してください。

トラブルシューティング

エラー: Azure のアクセス トークンをフェッチできませんでした。 使用されているサービス プリンシパルが有効であり、有効期限が切れていないか確認します。

このタスクでは、サービス接続のサービス プリンシパルを使用して Azure で認証します。 サービス プリンシパルの有効期限が切れているか、App Service に対するアクセス許可がない場合、このエラーのためにタスクが失敗します。 使用されているサービス プリンシパルが有効であることと、アプリの登録に存在することを確認してください。 詳細については、ロールベースのアクセス制御を使った Azure サブスクリプション リソースへのアクセスの管理に関する記事を参照してください。 このブログ記事には、サービス プリンシパル認証の使用に関する詳細も掲載されています。

SSL エラー

App Service で証明書を使用する場合、証明書は信頼できる証明機関が署名したものである必要があります。 Web アプリで証明書検証エラーが返された場合は、自己署名証明書を使用している可能性があります。 VSTS_ARM_REST_IGNORE_SSL_ERRORS という名前の変数をビルドまたはリリース パイプラインの値 true に設定して、エラーを解決します。

リリースが長い時間ハングし、失敗する

この問題は、App Service プランの容量不足によるものである可能性があります。 この問題を解決するには、App Service インスタンスをスケールアップして、使用できる CPU、RAM、およびディスク領域を増やすか、別の App Service プランを試してください。

5xx エラー コード

5xx エラーが表示される場合は、Azure サービスの状態を確認します

Azure 関数が突然動作を停止しました

前回のデプロイから 1 年以上経過した場合、Azure Functionsが突然動作しなくなる可能性があります。 "deploymentMethod" で "RunFromPackage" を使用してデプロイすると、有効期限が 1 年の SAS が生成され、アプリケーション構成で "WEBSITE_RUN_FROM_PACKAGE" の値として設定されます。 Azure Functionsは、この SAS を使用してパッケージ ファイルを参照して関数を実行するため、SAS の有効期限が切れている場合、関数は実行されません。 この問題を解決するには、もう一度デプロイして、有効期限が 1 年の SAS を生成します。

エラー: 指定されたパターンのパッケージが見つかりません

タスクに示されているパッケージが、ビルドまたは前のステージで成果物として発行され、現在のジョブでダウンロードされているかどうかを確認します。

エラー: zip デプロイ オプションによる公開は、msBuild パッケージの種類ではサポートされていません

MSBuild タスクを使って (既定の引数で) 作成された Web パッケージには、Web 配置でのみ正しくデプロイできる入れ子になったフォルダー構造があります。 これらのパッケージをデプロイするために publish-to-zip デプロイ オプションを使うことはできません。 パッケージ構造を変換するには、次の手順を実行してください。

  1. [ソリューションのビルド] タスクで、MSBuild 引数/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)\\WebAppContent" に変更します。

    [ソリューションのビルド] の値を示すスクリーンショット。

  2. [アーカイブ] タスクを追加し、次のように値を変更します。

    1. [アーカイブするルート フォルダーまたはファイル]$(System.DefaultWorkingDirectory)\\WebAppContent に変更します。

    2. [アーカイブ パスの先頭にルート フォルダー名を追加] チェック ボックスを解除します。

      [アーカイブ] の値を示すスクリーンショット。

Windows への関数アプリのデプロイは成功しますが、アプリが機能しません

この問題は、アプリに web.config ファイルが存在しない場合に発生することがあります。 web.config ファイルをソースに追加するか、タスクのアプリケーションと構成設定を使用してファイルを自動生成します。

  1. タスクを選択して、[Python、Node.js、Go、Java アプリ向けの web.config パラメーターを生成する] に移動します。

    [web.config パラメーターを生成する] セクションを示すスクリーンショット。

  2. [Python、Node.js、Go、Java アプリ向けの web.config パラメーターを生成する] の下にある [その他] ボタン (...) を選択して、パラメーターを編集します。

    [web.config パラメーターを生成する] を示すスクリーンショット。

  3. [アプリケーション フレームワーク] リストでアプリケーションの種類を選択します。

  4. [OK] を選択します。 これにより、web.config ファイルの生成に必要な web.config パラメーターが設定されます。

よく寄せられる質問

サービス接続を構成するにはどうすればよいですか?

このタスクには、Azure Resource Manager サービス接続が必要です。

Application Insights を使用して Web ジョブのデプロイを構成するにはどうすればよいですか?

App Service にデプロイする際に、Application Insights が構成されていて、Remove additional files at destination を有効にしている場合は、Exclude files from the App_Data folder も有効にする必要があります。 このオプションを有効にすると、Application Insights 拡張機能が安全な状態に維持されます。 Application Insights の継続中の Web ジョブが App_Data フォルダーにインストールされているため、この手順が必要です。

App Service にデプロイする際にエージェントがプロキシの背後にある場合は、どのように構成する必要がありますか?

セルフホステッド エージェントに Web プロキシが必要な場合は、構成の際にエージェントにプロキシについて知らせることができます。 そうすれば、エージェントはそのプロキシを介して Azure Pipelines や Azure DevOps Server に接続することができます。 Web プロキシの背後でセルフホステッド エージェントを実行する方法についての詳細情報をご確認ください

Azure Resource Manager サービス接続と Microsoft ホステッド エージェントを使用して内部App Service Environmentにデプロイできない

設計上、Microsoft ホスト型エージェントはApp Service Environmentでは機能しません。 代わりに、App Service Environmentと同じ仮想ネットワーク内にある仮想マシンでプライベート エージェントを構成する必要があります。 また、プライベート DNS ゾーンを設定して、リソース間の通信を有効にします。

次に、Azure 関数を Windows にデプロイするサンプル YAML スニペットを示します。


variables:
  azureSubscription: Contoso
  # To ignore SSL error, uncomment the below variable
  # VSTS_ARM_REST_IGNORE_SSL_ERRORS: true

steps:
- task: AzureFunctionApp@1
  displayName: Azure Function App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplefunctionapp
    appType: functionApp
    package: $(System.DefaultWorkingDirectory)/**/*.zip

Linux に関数をデプロイするには、appType パラメーターを追加して appType: functionAppLinux に設定します。 値を指定しない場合は、functionApp が既定値になります。

デプロイ方法を Zip Deploy として明示的に指定するには、パラメーター deploymentMethod: zipDeploy を追加します。 このパラメーターでサポートされている、その他の値は runFromPackage です。 値を指定しない場合は、auto が既定値になります。

CI/CD パイプラインの作成方法を示すチュートリアルについては、「Java をビルドして Azure Functions にデプロイする」を参照してください。

要件

要件 説明
パイプラインの種類 YAML、クラシック ビルド、クラシック リリース
上で実行 エージェント、DeploymentGroup
確認要求 なし
Capabilities このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。
コマンドの制限 Any
設定可能な変数 Any
エージェントのバージョン 2.104.1 以降
タスクのカテゴリ 配置