1

TL;DR

  • Node.js app hosted on Azure as a Cloud Service.
  • Publishing fails(app not uploaded) but appears to have worked.

Explained:

I have an account on Windows Azure where I have used both Websites and Cloud Services. I moved my website to a cloud service to be able to use custom domains.

Since moving, I use Azure cmdlets to publish my Node.js webserver. Before publishing worked fine, usually taking between 5 and 10 minutes to complete. Once published, the website contains the most recent content.

My problem is that now, publishing takes less than 2 minutes, no errors are thrown, and the content is not updated. Why is my app not publishing it's content?

Below is my publishing output:

PS C:\Projects\Azure\CloudServices\jwbsite\JWB> ls

    Directory: C:\Projects\Azure\CloudServices\jwbsite\JWB

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----          9/8/2012  10:22 AM            bin
d----         9/12/2012   3:30 PM            controllers
d----         9/11/2012   1:16 PM            data
d----         9/12/2012   4:00 PM            extensions
d----         9/10/2012   2:37 PM            models
d----         9/12/2012   2:45 PM            node_modules
d----         9/12/2012   3:23 PM            public
d----          9/8/2012  10:28 AM            views
-a---         9/25/2012   3:44 PM        411 package.json
-a---         9/13/2012  11:14 AM        224 robots.txt
-a---         9/17/2012   2:45 PM        605 routes.js
-a---         9/17/2012  10:59 AM       1902 server.js
-a---         8/25/2012   1:28 PM       3251 Web.cloud.config
-a---         8/25/2012   1:28 PM       3251 Web.config

PS C:\Projects\Azure\CloudServices\jwbsite\JWB> Publish-AzureServiceProject

Publishing  to Windows Azure. This may take several minutes...

4:27:17 PM - Preparing runtime deployment for service 'jwbsite'
4:27:20 PM - Preparing deployment for jwbsite with Subscription ID: ABCDEFGH-IJKL-MNOP-QRST-UVWXYZ012345...
4:27:21 PM - Connecting...
4:27:27 PM - Verifying storage account 'jwbsite'...
4:27:27 PM - Uploading Package...
4:27:39 PM - Upgrading...
4:27:50 PM - Created Deployment ID: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDE.
4:27:50 PM - Starting...
4:27:50 PM - Initializing...
4:27:51 PM - Instance JWB_IN_0 of role JWB is ready.
4:27:51 PM - Instance JWB_IN_1 of role JWB is ready.
4:27:51 PM - Instance JWB_IN_2 of role JWB is ready.
4:27:51 PM - Instance JWB_IN_3 of role JWB is ready.
4:27:52 PM - Created Website URL: http://jwbsite.cloudapp.net.
4:27:52 PM - Complete.

PS C:\Projects\Azure\CloudServices\jwbsite\JWB>

Let me know, I appreciate the help.

4

2 に答える 2

2

他の誰かがこの問題を抱えているか、Googleがあなたをここに送っている場合、私はエラーの原因を見つけました。

ファイル名/パスの長さを確認してください!

ファイル名が長すぎると、パッケージはAzureにアップロードされません。これは、Azureのエミュレーションに公開しようとしたところ、正しいエラーが発生したことがわかりました。実際のAzureインスタンスにプッシュするときにエラーが発生しない理由がわかりません。

Node.js注:

長すぎるファイル名/パスの主なソースはモジュールです。NPMを介してモジュールをインストールする場合、モジュールはその時点では存在しない依存関係をインストールします。必ずモジュールファイル構造を調べて、スリム化してみてください(私はあなたのためにバランスを取るためのスクリプトに取り組んでいます)。

Azureサポートチームは、この紛らわしい問題の根底に到達するのに非常に役立ちました。彼らは、ほぼ2か月間私と協力して、私のサイトを復旧して稼働させました。

同じまたは同様の問題が発生している場合は、Azureのローカルエミュレーションにデプロイして、どのようなエラーが返されるかを確認してください。

このエラーが発生するのは愚かですが、うまくいけば、私の愚かさは他の誰かのエラーを回避するのに役立ちます。

于 2013-01-21T20:06:55.510 に答える
0

同じ問題があり、このモジュールを使用してパスを短くしまし たhttps://www.npmjs.com/package/flatten-packages 問題を修正しました

于 2015-08-08T08:57:46.253 に答える