• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Azure PipelinesでNewRelic.Azure.WebSites.Extensionディレクトリが消去される。

問題

NewRelic.Azure.WebSites.Extension を使用し、Azure Pipelines でデプロイした Azure Web アプリでは、 newrelic ディレクトリが削除されるため、インスツルメンテーションは発生しません。さらにAzure Pipelineを使用してデプロイしようとすると、 NewRelic.Azure.WebSites.Extension がすでにインストールされているため、Azure Pipelineを使用してエクステンションを再インストールすることができません。

解決策

newrelic フォルダの保持を制御するには、WebDeployの以下のオプションを使用します。

基本的な解決策

コメント

Enable skipAction=Delete WebDeployの引数。

newrelic フォルダーなど、特定のフォルダーを明示的に削除対象から除外するには、次のようにします。

Azure PipelinesのUIです。

以下の引数を Azure App Service deploy -> Additional Deployment Options -> Additional Arguments に追加します。

-skip:skipAction=Delete,objectName=dirPath,absolutePath='newrelic$' -skip:skipAction=Delete,objectName=dirPath,absolutePath='newrelic_core$'

または

Pipeline.ymlファイルです。

WebDeployタスクに以下の input を追加します。

AdditionalArgumentsです。'-skip:skipAction=Delete,objectName=dirPath,absolutePath=''newrelic$'' -skip:skipAction=Delete,objectName=dirPath,absolutePath=''newrelic_core$''

エスケープされたシングルクォートに注意してください。

Screenshot showing skipAction.

原因

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

Copyright © 2022 New Relic Inc.