問題
NewRelic.Azure.WebSites.Extension
を使用し、Azure Pipelines でデプロイした Azure Web アプリでは、 newrelic
ディレクトリが削除されるため、インスツルメンテーションは発生しません。さらにAzure Pipelineを使用してデプロイしようとすると、 NewRelic.Azure.WebSites.Extension
がすでにインストールされているため、Azure Pipelineを使用してエクステンションを再インストールすることができません。
解決策
newrelic
フォルダの保持を制御するには、WebDeployの以下のオプションを使用します。
基本的な解決策 | コメント |
---|---|
Enable |
Azure PipelinesのUIです。 以下の引数を Azure App Service deploy -> Additional Deployment Options -> Additional Arguments に追加します。
または Pipeline.ymlファイルです。 WebDeployタスクに以下の
エスケープされたシングルクォートに注意してください。 |

原因
[Remove additional files at destination]
オプションが、Azure Pipeline の AzureRmWebAppDeployment
タスクで選択されている場合、 newrelic
および newrelic_core
ディレクトリは、 wwwroot
から削除されますが、拡張機能は Azure からアンインストールされたとはみなされません。その結果、次にパイプラインが実行され、拡張機能をインストールしようとすると、パイプラインに Extension 'NewRelic.Azure.WebSites.Extension' already installed.というメッセージが表示されます。
拡張機能は、そのフォルダがないと実行できず、Azureはそれがまだインストールされていると考えて再インストールしません。