我们部署了一个带有生产槽和开发槽的webapp,因为我们已经创建了几个webjobs(连续和预定),我们希望手动部署它们(而不是链接到webapp部署)所以我们遵循的部署过程是:
1 - >部署WebApp
2 - >对于每个WebJob:右键单击项目+ Deploy as Azure WebJob +选择正确的插槽+发布
我们能够毫无问题地为生产槽发布,但是当涉及到开发槽时,会出现以下错误:
C:[...] \ packages \ Microsoft.Web.WebJobs.Publish.1.0.6 \ tools \ webjobs.console.targets(110,5):错误:创建WebJob计划时出错:否可以找到与WebSiteName [slot__test]和WebSiteUrl [http://slot-test.azurewebsites.net]提供的
匹配的网站作为附加信息,我们使用的是Visual Studio Pro 2013 Update 5和Azure SDK 2.7
编辑: 版本1.0.10仍然会发生此错误
答案 0 :(得分:6)
找到解决方案,将Webjobs.Publish nuget软件包从1.0.6降级到1.0.3后,一切顺利。 MS在发布与当前工具不匹配的软件包时应该更加小心,因为它不是我们第一次遇到这样的问题。
答案 1 :(得分:6)
这听起来像是同一个问题:An error occurred while creating the WebJob schedule
对我来说,我在Server Explorer窗口中连接到目标订阅。听起来这应该与发布无关,但它确实有效。
答案 2 :(得分:0)
请看这篇博文:http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/
它将为您提供另一个部署计划的webjob的选项,您只需要为每个计划的webjob提供settings.job
文件,并使用cron表达式描述该计划。
像这样:
{"schedule": "the schedule as a cron expression"}
然后你可以将webjob视为"按需运行" (令人困惑,我知道)。
要查看webjob的状态,请访问:https:// {sitename} .scm.azurewebsites.net / api / webjobs
对于插槽转到: HTTPS:// {网站名称} - {广告位名称} .scm.azurewebsites.net / API / webjobs
请注意,此方案中的计划对于网站来说是粘性的,与Azure调度程序粘贴到插槽的情况相反,这意味着当您更换插槽时,计划将与网站交换,以便计划从暂存转移到生产例如。有关插槽粘性的更多信息,请参见here