簡體   English   中英

如何通過Git將Azure WebJob與.NET Core Web App一起部署?

[英]How do I deploy an Azure WebJob alongside a .NET Core Web App via Git?

我認為這將是一個相當簡單的任務,並且有相當多的文檔,但我沒有任何運氣,並假設它幾乎都已過時。

我有一段時間以來一直在開發的.NET Core MVC 6 Web App,需要在Azure上為它設置一個WebJob。 我想使用Azure提供應用程序已在使用的持續部署系統將其與應用程序一起部署。 根據Kudu文件,它是可能的:

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

哪個州:

這在直接從Visual Studio(WebDeploy)部署或通過git部署時都適用。

它引用了這個鏈接( https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-deploy-webjobs/ ),我一直試圖遵循這個鏈接但沒有成功。

我有最新版本的Visual Studio 2015,.NET Core 1.0.0和Tools以及Azure SDK。

顯而易見的第一件事是我沒有Azure文檔截圖中顯示的腳手架選項,並且在找不到任何遺漏的依賴關系后,我試圖按照描述手動設置它。

即使將所需文件放在指定的位置( webjobs-list.jsonwebjob-publish-settings.json )並為我的項目配置它們,並將Microsoft.Web.WebJobs.Publish添加到WebJob項目之后,Kudu也找不到WebJob通過持續部署系統。

我已經根據我在那里發現的文檔嘗試了幾種方法和變體,但我無法讓它工作,所有其他SO問題都是一年之久。

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

WebJobs的文件存儲在“App_Data / jobs / continuous”或“App_Data / jobs / triggered”文件夾下,因此我可以用來部署Web App和WebJob的一種方法是在構建期間手動復制這些文件夾所需的所有WebJobs文件時間。 我認為這將適合VS工具更新。

我的解決方案與您的解決方案略有不同,因為我使用Visual Studio Team Services構建並將我的應用程序發布到Azure,但概念是相同的。 您可以在Visual Studio中使用post build事件來運行將這些文件復制到jobs'文件夾的腳本。

以下是我在VSTS構建定義中配置的步驟:

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

  2. Visual Studio構建任務: 解決方案: ** \\ MyApp.sln 平台: $(BuildPlatform) 配置: $(BuildConfiguration) Visual Studio版本: Visual Studio 2015

  3. 命令行任務: 工具: dotnet 參數: publish -c $(BuildConfiguration)

  4. 命令行任務: 工具: dotnet 參數: publish -c $(BuildConfiguration)$(Build.SourcesDirectory)\\ src \\ MyApp.Jobs \\ project.json

  5. 復制文件任務(這是技巧): 源文件夾: src / MyApp.Jobs / bin / $(BuildConfiguration)/netcoreapp1.0/publish/ 內容: ** 目標文件夾: src / MyApp.Web / bin / $(BuildConfiguration )/netcoreapp1.0/publish/App_Data/jobs/triggered/MyJobName/

  6. 歸檔文件任務: 要歸檔的根文件夾(或文件): src / MyApp.Web / bin / $(BuildConfiguration)/netcoreapp1.0/publish/ 前綴根文件夾名稱到歸檔路徑:未選中歸檔類型: zip 要創建的歸檔文件: website.zip 替換現有存檔:已選中

  7. 復制文件任務:源文件夾: 內容: ** / * .zip 目標文件夾: $(Build.ArtifactStagingDirectory)

  8. 發布構建工件任務: 路徑執行發布: $(Build.ArtifactStagingDirectory) 工件名稱: drop 工件類型:服務器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM