2016-04-26 111 views
0

我們在Azure中有一個現有的Web應用程序,我們正在部署Node.js Webjob。Node.js Azure WebJob:如何使用持續交付從Visual Studio Team Services進行部署

我們目前在構建(CI)過程中部署webjob,方法是將run.js和node_modules文件夾複製到Web應用程序的app_data/jobs/continuous目錄中,然後根據我找到的唯一教程,然後構建和部署WebApp本身使用CD。

雖然這可行,但看起來有點冒險,現在由於node_modules目錄中的文件數量龐大,現在需要很長時間才能部署Web應用程序。

是否有更自動的方法,即將node.js webjob部署到現有的web應用程序?我能找到這種情況下重新各類教程:asp.net的項目,但只

更新

我使用的指令之一的node.js webjobs,這是上面第2段所述)在Amit的博客:http://blog.amitapple.com/post/74215124623/deploy-azure-webjobs/#.VyC06DArKHs

+0

您的WebApp文件和WebJobs文件都在同一個存儲庫中嗎? –

+0

是的,謝謝。 – Gustyn

回答

0

一般情況下,如果你使用Git來部署ASP.NET應用程序天青Web應用程序服務,您可以利用NPM管理文件package.json通過部署任務安裝節點模塊。

你可以嘗試以下步驟:

  1. 在你的根目錄路徑添加package.json文件,內容包括你所需的依賴。 https://docs.npmjs.com/files/package.json#dependencies
  2. 如果您在Visual Studio中有該項目,可以右鍵單擊wwwroot,然後單擊Add =>「新建項目」,然後在Client-side選項卡下選擇要添加的NPM Configuration Fileenter image description here enter image description here 創建並配置npm配置文件後,Azure部署任務將自動安裝依賴關係。
  3. 在您的倉庫或項目的根目錄中創建webjob腳本和文件夾。例如。 app_data\jobs\continuous\testwebjob\run.js。你可以直接在require這個模塊,它會在根目錄下找到node_modules這個模塊。

畢竟,你的項目的根目錄下將有類似的結構: enter image description here

任何進一步的問題,請隨時讓我知道。

+0

感謝您的快速響應。不幸的是,我們沒有使用Asp.NET5(基於您對wwwroot的使用,我假設您在這種情況下),直到.NET Core團隊以更穩定的狀態獲取該項目它。如果你不是在談論Asp.NET5,那麼在傳統的Asp.NET中如何使用wwwroot概念呢? – Gustyn

+0

我們在我們的CI過程中已經使用了npm,然後在使用VSO構建定義中的一系列任務構建和發佈之前,將該過程複製到web應用程序中。然後我們使用VSO發佈機制來部署該網站。 CD流程的發佈部分所花費的時間比預期的要長。我正在更新我的問題,並提供了一個鏈接到我曾經設置過的博客。 – Gustyn

相關問題