これはちょっと古いですが、誰かがこの質問に遭遇した場合に備えて、私はとにかく答えるでしょう。診断コンソールと展開ログの両方がANSIコードと格闘として
まず、無効色でイサキを実行すると便利です。これを行うには、grunt --no-color
を実行します。これにより、STDOUT情報がコンソールと展開ログに戻されます。
第2に、ノードまたはNPMのチェックインバージョンの使用をお勧めしません。 Windows Azureは既にこれらの環境をビルドしており、両方のために必要な特殊な一時パスとキャッシュパスが既に最適に実行されるように構成されています。
Project Kuduは、Azure Deploymentsを強化するデプロイメントエンジンですが、デプロイメントファイルは.deploymentファイルがあるので、これはすでに分かっています。ただし、Azureのコマンドラインツール[npm install azure-cli --global
]は、AzureのプリインストールされたノードとNPMの設定を使用する、より優れたデプロイメントスクリプトを用意しています。
azure site deploymentscript –-node
この基本ノードスクリプトが表示されます。
そこから、グレントを確実に実行させるために、いくつかの変更が必要です(deploy.sh
)。 deploy.sh
の中に#Deploymentセクションがあります。以下にその内容を置き換えます
# Deployment
# ----------
echo Handling node.js grunt deployment.
# 1. Select node version
selectNodeVersion
# 2. Install npm packages
if [ -e "$DEPLOYMENT_SOURCE/package.json" ]; then
eval $NPM_CMD install
exitWithMessageOnError "npm failed"
fi
# 3. Install bower packages
if [ -e "$DEPLOYMENT_SOURCE/bower.json" ]; then
eval $NPM_CMD install bower
exitWithMessageOnError "installing bower failed"
./node_modules/.bin/bower install
exitWithMessageOnError "bower failed"
fi
# 4. Run grunt
if [ -e "$DEPLOYMENT_SOURCE/Gruntfile.js" ]; then
eval $NPM_CMD install grunt-cli
exitWithMessageOnError "installing grunt failed"
./node_modules/.bin/grunt --no-color clean common dist
exitWithMessageOnError "grunt failed"
fi
# 5. KuduSync to Target
"$KUDU_SYNC_CMD" -v 500 -f "$DEPLOYMENT_SOURCE/dist" -t "$DEPLOYMENT_TARGET" -n "$NEXT_MANIFEST_PATH" -p "$PREVIOUS_MANIFEST_PATH" -i ".git;.hg;.deployment;deploy.sh"
exitWithMessageOnError "Kudu Sync to Target failed"
これはあなたの/wwwroot
に(Gruntfile.jsが存在する場合)grunt clean common dist
、続いて(bower.jsonが存在する場合)bower install
に続いて、npm install
を実行し、最後にKuduSyncます。 (注: 'clean common dist'を実行する必要のあるGruntタスクに置き換えてください。)
実行可能なその他の問題がいくつかあります。私はpost on my personal blogにこれを書いています。これにはあなたが遭遇する可能性のある問題のいくつかが含まれています。
「リモート実行コンソール」と言いますと、何を指していますか? scmサービスのルート(git urlと同じホスト名)から診断コンソールを起動してください。それはそこで失敗するのですか?正確な出力を貼り付けることはできますか?また、共有できる最小のレポがある場合は、それが調査に役立つでしょう。何かがサンドボックスによってブロックされている可能性があります。 –
@DavidEbboはい私は診断コンソールを参照しています。そこでは失敗します。私はちょうどCプロンプトを返す。私はファイルをコピーしています。それらをコピーした後にいくつかを削除します(必要ではありませんが、Gitサブモジュールの一部です)。いくつかのテンプレートを実行し、環境変数を解析しています。とても標準的なもの。サンドボックスでどのような分類がブロックされていますか? –
サンドボックスのブロックが微妙になる可能性があります。診断ダンプ(https://github.com/projectkudu/kudu/wiki/Investigating-issues#getting-the-diagnostic-dump)を見ることもできます。詳細については、こちらをご覧ください。あなたが見ているものを正確に見ることができる最小のレポを共有できる方法があれば、何が起こっているのかを特定できるはずです。 –