2016-08-12 88 views
12

我認爲這將是一個非常簡單的任務,有相當多的文件在那裏,但我有運氣零與任何它,我假定這是幾乎所有過時。如何通過Git將.NET Azure WebJob與.NET Core Web App一起部署?

我有我已經開發一段時間,需要建立一個WebJob它在Azure上.NET核心MVC 6 Web應用程序。我希望使用持續部署系統將其與應用程序一起部署,Azure規定該應用程序已在使用。據捻文檔有可能:

https://github.com/projectkudu/kudu/wiki/Web-Jobs#deploying-net-console-webjobs-alongside-an-aspnet-application

其中規定:

這適用直接從Visual Studio (WebDeploy)進行部署時,或通過飯桶。

它引用此鏈接(https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-deploy-webjobs/),我一直試圖跟着沒有成功。

我有最新版本的Visual Studio 2015,.NET核心1.0.0 &工具和Azure的SDK。

首先變得明顯的是,我沒有腳手架選項,如Azure文檔的屏幕截圖所示,並且在找不到任何缺失的依賴關係後,我嘗試按照所述手動設置它。

即使把所需文件(webjobs-list.jsonwebjob-publish-settings.json)指定的位置和配置他們爲我的項目,並添加Microsoft.Web.WebJobs.Publish到WebJob項目後,捻沒有找到通過持續部署系統的WebJob。基於文檔

我試過幾種方法和變化,我發現在那裏,但我只是無法得到它的工作和所有其他的SO問題是今年(S)舊。

有誰知道我在做什麼錯?使用最新版本的.NET Core MVC,這是否仍然可行?

+0

我不覺得VS的支持尚未部署具有核心WebJobs應用。 –

+0

@DavidEbbo然後文檔應該反映這一點,而不是貢獻者只需觸摸文檔上的日期,使其看起來像他們是最近的和最新的。完全誤導! – Jargon

+0

@DavidEbbo對此有何更新?現在.Net Core控制檯應用程序WebJobs需要部署到Portal中,不能像Asp.Net Core項目一樣部署,如http://stackoverflow.com/questions/39958252/azure-webjob-removed-after-app -service-publish-with-autoswap – MathiasR

回答

4

WebJobs的文件存儲在'App_Data/jobs/continuous'或'App_Data/jobs/triggered'文件夾下,所以我可以用來部署Web App和WebJob的一種方式是手動將所有WebJobs的文件這些文件夾在編譯期間。我認爲這將適合VS工具更新。

我的解決方法是從你的有點不同,因爲我使用Visual Studio團隊服務,以建立和釋放我的應用程序Azure的,但概念是相同的。您可以在Visual Studio中使用後期構建事件來運行將這些文件複製到作業文件夾的腳本。

下面是我在VSTS配置構建步驟定義:

  1. 命令行任務: 工具: DOTNET 參數:恢復

  2. 的Visual Studio生成任務: 解決方案: ** \ MyApp的。SLN 平臺: $(BuildPlatform) 配置: $(BuildConfiguration) 的Visual Studio版本:的Visual Studio 2015年

  3. 命令行任務: 工具: DOTNET 參數:發佈-c $(BuildConfiguration)

  4. 命令行任務: 工具: DOTNET 參數:發佈-C $(BuildConfiguration)$(Build.SourcesDirectory)的\ src \ MyApp.Jobs \ project.json

  5. 複製文件的任務(這是招): 源文件夾:的src/MyApp.Jobs /斌/ $(BuildConfiguration)/netcoreapp1.0/publish/ 內容: ** 目標文件夾:的src/MyApp.Web /斌/ $(BuildConfiguration)/ netcoreapp1 .0/publish/App_Data/jobs/triggered/MyJobName/

  6. 歸檔文件任務: 根文件夾(或文件)存檔:的src/MyApp.Web /斌/ $(BuildConfiguration)/netcoreapp1.0/publish/ 前綴根文件夾的名稱存檔路徑:選中 存檔類型:拉鍊 歸檔文件創建: website.zip 替換現有的檔案:檢查

  7. 複製文件的任務: Source文件夾: 項內容: **/*拉鍊 目標文件夾: $(Build.ArtifactStagingDirectory)

  8. 發佈構建構件的任務: 路徑也發佈: $(Build.ArtifactStagingDirectory) 神器名稱:下降 工件類型:服務器

+0

太棒了!經過幾個小時的轟動,我挽救了我的項目=] –

相關問題