2016-08-12 48 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

太棒了!经过几个小时的轰动,我挽救了我的项目=] –