9

我有一个包含 .net mvc 网站和 webjob 的解决方案。

我使用 git 进行部署 - 所以在 git push 到 azure 时,我的网站已升级。我现在只是添加一个将按计划运行的控制台应用程序。我正在尝试解决如何在我的网站上部署它git push,但我不确定如何执行此操作。

我知道我可以创建一个文件夹website\app_data\jobs\triggered\webjob并将文件复制到那里(例如从 webjob 上的构建后事件),但这意味着我需要将所有这些文件提交到 git repo 以便部署以获取它们 -这也意味着每次我构建时,Git 都会提示我再次提交它们 - 呃。

有没有更好的方法来做到这一点 - 我可以将我的回购推送到天蓝色,它会正确部署我的网站和我的网络作业?

谢谢

4

3 回答 3

4

是的,您可以这样做,而不必将实际的 EXE 和项目输出显式放入文件夹中。Azure 博客中的这篇博文记录了启用 Git 或命令行部署 Web 应用程序(包括 WebJobs)的解决方法。

http://azure.microsoft.com/blog/2014/08/18/enabling-command-line-or-continuous-delivery-of-azure-webjobs/

如果这不能解除对您的阻止,请发布更新,我将帮助您诊断您遇到的任何其他问题。您可能还希望在此处将发布 NuGet 的 WebJob 更新为 NuGet 上的最新版本:https ://www.nuget.org/packages/Microsoft.Web.WebJobs.Publish/1.0.2

于 2014-11-05T19:46:41.533 回答
3

截至 2015 年 9 月 15 日,这似乎与 Visual Studio 中的一些上下文菜单一样简单。

如果您希望在部署网站时自动部署 WebJob,则可以在 Visual Studio 中右键单击网站并选择“添加->现有项目作为 Azure WebJob”。

此处有更多详细信息,特别是“使用 Web 项目启用自动 WebJobs 部署”部分。

于 2015-09-15T17:53:03.273 回答
1

我一直在努力解决这个问题,但我现在已经开始工作了。

看来必须使用 WebJobs.Publish 1.0.2。1.0.1 对我不起作用。我一更新就开始工作。

我还尝试按照 David Ebbo 的说明添加 webjobs.props 文件但这不适用于 1.0.1,我现在已经删除了这些文件,并且它在没有它们的情况下在 1.0.2 下工作。

使用 WebJobs.Publish 创建一个 webjob-publish-settings.json(在 webjob 项目中)和一个 webjobs-list.json(在 MVC 应用程序中),这似乎就是所需要的。

唯一不起作用的是为计划的作业创建计划。连续和触发作业部署得很好。这里有一个线程,David Ebbo 提到这是当前的限制。

于 2014-12-03T06:45:10.337 回答