Azure WebJob 部署一直失败

Azure WebJob deployment keeps failing

从昨天开始,我的现有 WebJobs 突然出现一致的部署失败。我得到的错误是

Start Web Deploy Publish the Application/package to https://octotrip-api-test-dev.scm.azurewebsites.net/msdeploy.axd?site=octotrip-api-test__dev ...
Adding sitemanifest (sitemanifest).
Adding directory (XXX\app_data).
Adding directory (XXX\app_data\jobs).
Adding directory (XXX\app_data\jobs\continuous).
C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\Web\Microsoft.Web.Publishing.targets(4295,5): Error : Web deployment task failed. ((3/16/2017 1:32:23 PM) An error occurred when the request was processed on the remote computer.)

(3/16/2017 1:32:23 PM) An error occurred when the request was processed on the remote computer.
An error was encountered when processing operation 'Create Directory' on 'D:\home\site\wwwroot\app_data\jobs\continuous'.
The error code was 0x800700B7.
Cannot create "D:\home\site\wwwroot\app_data\jobs\continuous" because a file or directory with the same name already exists.
at Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode, String maybeFullPath)
at Microsoft.Web.Deployment.DirectoryEx.CreateDirectory(String path)
at Microsoft.Web.Deployment.DirPathProviderBase.CreateDirectory(String fullPath, DeploymentObject source)
at Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject source, Boolean whatIf)
Publish failed to deploy.

部署时需要注意的重要事项;没有 app_data 文件夹(我使用 FTP 手动删除了它)。可以看到它正在一步步创建文件夹结构; app_data,然后是作业文件夹,然后是连续文件夹。我用FTP确认他成功创建了app_data/jobs文件夹;但是创建连续文件夹总是崩溃。

在 VSTS 中使用构建定义进行部署以及从 Visual Studio 中部署为 WebJob 时会发生这种情况;所有 WebJob NuGet 都是最新的。

谢谢

很奇怪,无法为 WebJob 创建文件夹。我无法在我身边重现它。有没有试过部署到别的网站看能否重现? 根据我的经验,我们可以通过以下方式解决问题:

  1. 重启网站

  2. 如果可能,请尝试重新部署网站并删除目标位置的其他文件

  1. 扩大和缩小服务计划

Note:change will be applied to all WebApps in the ServicePlan

  1. 如果未解决,请联系 Azure 支持团队寻求帮助。

通过简单地创建一个新的 Azure Web 应用解决了这个问题。文件系统出了点问题。看一看。

服务器上不存在

app_data 或 app_data 的子目录。 (使用 CMD 和 FTP 确认)。

这只发生在 app_data\jobs\triggered 和 app_data\jobs\continuous

(例如app_data\jobs\triggereddddd 有效)

这些文件夹以前存在于此服务器上(它们包含我们 运行 的 WebJobs 的数据)

  1. 打开 Azure 门户并转到您的 Web 应用程序
  2. 在 "development tools" select "K Advanced Tools" 下,这将在新浏览器中打开 Kudu 控制面板 window。
  3. Select "Debug Console" -> "CMD"

  4. 在项目 table 中,找到 wwwroot 条目并将其删除。

  5. 继续工作...