2017-05-15 15 views
0

nodejsアプリケーション用のLinuxのAzure Web Appにdeploy.shスクリプトを管理するガイドはありますか?私は、継続的な展開でコマンドを実行する際に、一貫して展開エラーが発生しています。このエラーは、最初の展開スクリプトを最初に設定したときに最初の展開スクリプトから始まります。エラーは、bowerコマンドラインでbowerコマンドが見つからない "bower install"コマンドでほとんど発生しました。 LinuxデプロイメントのAzure Webアプリケーションdeploy.sshで失敗しました

は、この問題を克服するために、私が行っ以下:

  1. ログインクーズーツールに、バッシュ(sshは1回目に動作していない)
  2. ファイル名を指定して実行「NPM --productionをインストールする」、これをインストールを完了しません
  3. "bower install"を実行すると、エラーバワーがインストールされません。npm install -g bowerを試してみましたが、それでも問題は解決していません。
  4. どういうわけか、SSHがSSH端末でロードする(奇跡)まで
  5. SSH端末で何とか開け閉めしましたが、 "npm install -g bower"と "bower install"を実行できます。インストールを完了し、私は自分のウェブサイトをロードすることができます

しかし、配備のステータスは依然として失敗し、配備スクリプトで失敗したとしても配下の配備は改善されていないようです。

には、以下のサブシーケンスの展開から生成されたエラーです:

コマンド: "/home/site/deployments/tools/deploy.sh" /opt/Kudu/bin/Scripts/starter.sh: /home/site/deployments/tools/deploy.sh:/ bin/bash^M:悪いインタプリタ:そのようなファイルやディレクトリはありません /opt/Kudu/bin/Scripts/starter.sh:2行目:/ home/site/deploy/tools/deploy.sh:成功 /opt/Kudu/bin/Scripts/starter.sh:/home/site/deployments/tools/deploy.sh:/ bin/bash^M:悪いインタプリタ:そのようなファイルはありません。ディレクトリ\ n/opt/Kudu/bin/Scripts/starter.sh:2行目:/home/site/deployments/tools/deploy.sh:成功\ n/opt/Kudu/bin/Scripts/starter.sh "/ home /サイト/ deployments/tools/deploy.sh "

MSの希望の専門家がこの問題について私を助けることができます。ありがとうございました。

敬具、Linuxの Szelee

+0

これはカスタム展開スクリプトですか? "/ bin/bash^M:悪いインタプリタ"エラーは、通常、スクリプトファイルにWindowsの行末があることを示します.bashは失敗します。アプリ名を共有したい場合(私的には、https://github.com/projectkudu/kudu/wiki/Reporting-your-site-name-without-posting-it-publicly)、私は少し調べることができますさらに。 – nlawalker

+0

私はサーバーからデプロイメントスクリプトを使用しています。私は新しいサーバー設定でもテストしました。これはvivamobile.azurewebsites.netで確認できます –

+0

このエラー出力が発生したサイトでは、配備スクリプトが行末を変更したもので編集されたようです。 Kuduコンソールを使用して/ home/site/deployments/toolsの内容を削除し、再度展開を試みてみてください。これにより、キャッシュされたデプロイメントスクリプトがクリアされ、再生成されます。 – nlawalker

答えて

0

は、それが実行し得る任意のbashを導入スクリプトは、Unixの改行コード(LF)といない、Windowsの行末(CRLF)を持っていることが重要です。 Kuduscriptはプラットフォームに適した行末でスクリプトを生成しますが、スクリプトが変更された場合や独自のcustom deployment scriptsを提供している場合は、エディタが行末を変更しないようにすることが重要です。

デプロイスクリプトで何か問題があると思われる場合は、いつでもKuduコンソールを使用して/ home/site/deployments/toolsの内容を削除できます。これは、Kuduがkuduscriptによって生成されたデプロイメントスクリプトをキャッシュするディレクトリです。次のデプロイ時に、スクリプトが再生成されます。

+0

ありがとうございます、新しいスクリプトが生成されますが、新しいエラーメッセージが表示されています。これは、エラーの原因となっているエラーメッセージの要約です。私は現在sshでnpm installを実行して調査中です。あなたが完全なエラーを表示することに興味があるならば、私は展開スロットvivamobile-1.azurewebsites.netでテストしています。/ –

+0

あなたが現在見ているエラーは、展開のためにノード/ npmを実行しているKuduの問題です。現在見ているものの中で最も簡単で速い解決策は、package.jsonにengines.node(https://docs.npmjs.com/files/package.json#engines)を指定することです。 問題を解決するための修正がありますが、すぐに文書化することをお勧めしますが、あなたのプロジェクトに必ずengines.nodeを指定することをお勧めします。 – nlawalker

+0

ありがとう、私は今すぐ展開に成功しています。 –

関連する問題