ElasticBeanstalkを介してサーバーに正常に展開しているMicrosoftASP.NETアプリがあります。
ただし、アプリケーションで使用される特定のパッケージをセットアップするために、.ebextensionsの下でいくつかの構成ファイルを実行しようとしています。
たとえば、次のようにNewRelicスクリプトをインストールしています。
files:
"c:\\temp\\redistribution\\newrelic\\NewRelicDotNetAgent_x64.msi":
source: http://download.newrelic.com/dot_net_agent/release/NewRelicDotNetAgent_x64.msi
commands:
instNewRelic:
command: msiexec.exe /i c:\\temp\\redistribution\\newrelic\\NewRelicDotNetAgent_x64.msi /qb NR_LICENSE_KEY=<mylicense here> INSTALLLEVEL=1
iisRestart:
command: c:\\windows\\system32\\iisreset.exe /RESTART
このコマンドは、インストーラー(サーバーからアクセス可能)をダウンロードして、パッケージを実行する必要があります。
問題は、ファイルがダウンロードされたこと、またはスクリプトがエラスティックBeanstalkプロセスによって実行されようとしたことを示す兆候が見られないことです。
私は以下をチェックしました:
これを理解する助けがあれば幸いです。
ありがとう、
VSですべてのファイルをプロジェクトに含めるようにすることで、この問題を解決しました。
スクリプトをコンテンツ/常にコピーとしてマークすることにより、スクリプトはターゲットに含まれると思いました。問題は、.ebextensionsがサイトのルートにある必要があることです。これを実現するには、[Package/Publish Web]オプションで[すべてのファイルを含める]を選択する必要があります。これにより、サイトのルートにある.ebextensionsがコピーされ、ElasticBeanstalkワーカーによって取得されます。
ファイルビルドアクションを「コンテンツ」に設定した後、ebextensionsを実行することができました。
[ファイル]> [プロパティ]> [ビルドアクション]を右クリックします。 「コンテンツ」に設定
また、ファイルの内容がオンラインパーサーで有効であることを確認するのにも役立ちます。