[英]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文件,它是可能的:
哪個州:
這在直接從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.json
和webjob-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構建定義中配置的步驟:
命令行任務: 工具: dotnet 參數:恢復
Visual Studio構建任務: 解決方案: ** \\ MyApp.sln 平台: $(BuildPlatform) 配置: $(BuildConfiguration) Visual Studio版本: Visual Studio 2015
命令行任務: 工具: dotnet 參數: publish -c $(BuildConfiguration)
命令行任務: 工具: dotnet 參數: publish -c $(BuildConfiguration)$(Build.SourcesDirectory)\\ src \\ MyApp.Jobs \\ project.json
復制文件任務(這是技巧): 源文件夾: src / MyApp.Jobs / bin / $(BuildConfiguration)/netcoreapp1.0/publish/ 內容: ** 目標文件夾: src / MyApp.Web / bin / $(BuildConfiguration )/netcoreapp1.0/publish/App_Data/jobs/triggered/MyJobName/
歸檔文件任務: 要歸檔的根文件夾(或文件): src / MyApp.Web / bin / $(BuildConfiguration)/netcoreapp1.0/publish/ 前綴根文件夾名稱到歸檔路徑:未選中歸檔類型: zip 要創建的歸檔文件: website.zip 替換現有存檔:已選中
復制文件任務:源文件夾: 內容: ** / * .zip 目標文件夾: $(Build.ArtifactStagingDirectory)
發布構建工件任務: 路徑執行發布: $(Build.ArtifactStagingDirectory) 工件名稱: drop 工件類型:服務器
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.