我有一个包含.net mvc网站和webjob的解决方案。
我使用git进行部署 - 所以在git push to azure上,我的网站升级了。我现在只是添加一个将按计划运行的控制台应用程序。我在git push
时尝试了解如何使用网站部署此内容,但我不确定如何执行此操作。
我知道我可以创建一个文件夹website\app_data\jobs\triggered\webjob
并将文件复制到那里(比如来自webjob上的构建后事件),但这意味着我需要将所有这些文件提交到git repo部署来接他们 - 这也意味着每次我建立时,Git都会促使我再次提交他们 - 呃。
有没有更好的方法来做到这一点 - 我可以将我的回购推送到azure,它会正确部署我的网站和我的webjob?
由于
答案 0 :(得分:4)
是的,您可以执行此操作,而无需将实际的EXE和项目输出明确地放入文件夹中。 Azure博客中的这篇博客文档记录了使用WebJobs启用Git或Web应用程序命令行部署的解决方法。
如果这没有取消阻止,请发布更新,我会帮助您诊断遇到的任何其他问题。您可能还想在此处将NuJet上的WebJob发布NuGet更新为最新的:https://www.nuget.org/packages/Microsoft.Web.WebJobs.Publish/1.0.2
答案 1 :(得分:3)
截至2015年9月15日,这似乎与Visual Studio中的一些上下文菜单一样简单。
如果您希望WebJob在部署网站时自动部署,则可以在Visual Studio中右键单击网站,然后选择“添加 - >将现有项目添加为Azure WebJob”。
更多详情http://support.severalnines.com/entries/23612682-Install-HAProxy-and-Keepalived-Virtual-IP-,特别是“使用网络项目启用自动WebJobs部署”部分。
答案 2 :(得分:1)
我正在努力解决这个问题,但我现在已经开始工作了。
似乎必须使用WebJobs.Publish 1.0.2。 1.0.1对我不起作用。我更新后立即工作。
我还尝试添加David Ebbo所指示的here webjobs.props文件,但这对于1.0.1并不起作用,我现在删除了这些文件并且它已经删除了。在没有它们的情况下在1.0.2下工作。
使用WebJobs.Publish创建一个webjob-publish-settings.json(在webjob项目中)和一个webjobs-list.json(在MVC应用程序中),这似乎就是所需要的。
只有不起作用的是创建预定作业的计划。连续和触发的作业部署得很好。有一个帖子here,David Ebbo提到这是当前的限制。