2016-05-06 77 views
0

我試圖在Azure Web App中運行AtlasBoard,但無法使其工作。我使用「30秒內開始」步驟創建了一塊新電路板,當我在本地啓動時,演示板運行良好。它可以通過atlasboard start 3333開始,或者我運行node start使用iisnode在Azure Web App上運行AtlasBoard

我已將node_modules目錄添加到.gitignore。

我在Azure上使用git部署,這似乎工作正常。部署日誌還顯示npm模塊已安裝。

這是從部署的最後輸出中:

Using start-up script start.js from package.json. 
Generated web.config. 
The iisnode.yml file explicitly sets nodeProcessCommandLine. Automatic node.js version selection is turned off. 
Selected npm version 3.5.1 
npm WARN Invalid name: "HRMTS AtlasBoard" 
npm WARN wwwroot No description 
npm WARN wwwroot No repository field. 
npm WARN wwwroot No README data 
npm WARN wwwroot No license field. 
Finished successfully. 

然而,應用程序doesn't似乎開始,當我看在控制檯捻日誌消息,我得到這個:

Error: error installing D:\home\site\wwwroot\packages\demo 
    at process.<anonymous> (D:\Program Files (x86)\iisnode\interceptor.js:73:106) 
    at emitOne (events.js:96:13) 
    at process.emit (events.js:188:7) 
    at process._fatalException (node.js:267:26) 

有沒有人有關於這裏有什麼問題的線索?

回答

0

如果您正在使用https://bitbucket.org/atlassian/atlasboard/src上的演示應用程序的回購來測試Azure,那麼我們需要做一些額外的修改才能使測試在Azure Web Apps上運行。

首先,假設您已成功將應用程序部署到Azure,並且在開始運行應用程序時失敗。然後,您可以利用Kudu控制檯站點或Visual Studio Online擴展(請參閱How to install composer on app service?關於如何啓用Azure Web Apps擴展的答案)來檢查錯誤日誌D:\home\site\wwwroot\packages\demo\npm-debug.log

有類似的錯誤:

155 error node -v v0.6.20

156 error npm -v 1.1.37

157 error message SSL Error: CERT_UNTRUSTED

看來,atlasboard與運行在Azure上非常低的節點version命令。我們可以手動修改相關腳本來繞過錯誤。

如果在部署過程中出現錯誤,你應該修改NPM版本package.json部署之前,例如:

"engines": { 
    "npm": ">2.0.0", 
    "node": ">=0.10" 
    }, 

部署後:

  • 檢查,並在start.js修改port在根目錄下:

    atlasboard({port: process.env.port||3000 , install: true}, 
    function (err) { 
        if (err) { 
        throw err; 
        } 
    }); 
    
  • 修改install功能D:\home\site\wwwroot\node_modules\atlasboard\lib\package-dependency-manager.js使用更高的NPM版本,並移除--production PARAM,e.g:

    ... 
    var npmCommand = isWindows ? "D:\\Program Files (x86)\\npm\\3.5.1\\npm.cmd" : "npm"; 
    executeCommand(npmCommand, ["install", pathPackageJson], function(err,  code){ 
    ... 
    }) 
    

然後,重新啓動您的網站。

任何進一步的關注,請隨時讓我知道。

+0

將process.env.ATLASBOARD_PORT更改爲process.env.PORT並在package-dependency-manager.js中進行修改對我來說是個竅門。謝謝! – henningst

+0

我寫了一篇關於如何啓動和運行的快速博客文章。 HTTP://blog.stoverud。無/職位/ atlasboard-ON-Azure的web應用程序/ – henningst