【问题标题】:azurew website continuous deployment - Web Deploy cannot modify the file 'XXX' on the destination because it is locked by an external processazurew 网站持续部署 - Web 部署无法修改目标上的文件“XXX”,因为它被外部进程锁定
【发布时间】:2014-11-06 22:45:16
【问题描述】:

我在尝试通过 TFS 持续部署部署 azure 网站时遇到以下错误。

我正在使用 TfvcContinousDeploymentTemplate.12.xaml 构建定义模板。

异常消息:Web Deploy 无法修改目标上的文件“Antlr3.Runtime.dll”,因为它被外部进程锁定。为了使发布操作成功,您可能需要重新启动应用程序以释放锁定,或者在下次尝试发布时为 .Net 应用程序使用 AppOffline 规则处理程序。 了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE。 (类型 DeploymentDetailedException)

我已经完成了建议和添加的内容

<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>

到发布配置文件,但它并没有使应用程序脱机,因为我遇到了同样的错误。

这是我的构建定义的视图,它被设置为使用发布配置文件和应用离线设置。

【问题讨论】:

  • 你在用 NewRelic 吗?

标签: azure tfs azure-web-app-service webdeploy


【解决方案1】:

您遇到了 Azure 和 .NET 的限制

建议重新启动您的应用程序。这可以通过更改环境变量来完成,从而强制 iis 重新启动。

例如: 在 azure 仪表板中:

Set COR_ENABLE_PROFILING = 0

然后部署,然后再次部署

 Set COR_ENABLE_PROFILING = 1

你可以找到这个问题的描述here

【讨论】:

  • 适用于 WebApps 的 Azure 门户现在在仪表板底部有一个重新启动按钮。
  • 我们将 COR_ENABLE_PROFILING 设置为 0,然后得到这个:错误 Web 部署任务失败。 (Web Deploy 无法修改目标上的文件“Microsoft.CodeAnalysis.CSharp.dll”,因为它被外部进程锁定。知道这是从哪里来的吗?它是在安装 NewRelic APM 后才开始的。然后我不得不手动停止站点进行部署。
  • 可能是 NewRelic 使用了这个分析,在关闭 NewRelic 然后进行这个更改时它会再次发生吗? (正如@Mason240 所说,仪表板底部现在有一个重新启动按钮,这是一种比更改分析设置更简单的方法)
【解决方案2】:

我知道这是一个老话题。但是我自己遇到了这个问题,并在 Azure 中解决了它。

将 MSDEPLOY_RENAME_LOCKED_FILES=1 添加到 Azure 中的设置。

【讨论】:

    【解决方案3】:

    如果您想在部署前后自动停止和启动 Azure 应用服务,那么如果您使用的是 VSTS,现在可以立即使用此任务(如果您使用的是 TFS,请找到带有其中一个 cmets 中的市场任务)

    利用这些任务:

    1. 在 VSTS 的发布部分,将任务添加到您的发布定义类型 “Azure App Service Manage (PREVIEW) - Azure App Service 的启动、停止、重新启动或插槽交换”
    2. 在创建的任务中,选择操作(对于第一个任务,选择“停止应用服务”)
    3. 将此任务拖放到部署任务前,在部署任务后添加“启动应用服务”任务
    4. 在任务设置中,您还可以检查这是否仅应用于 Azure 应用服务的特定插槽(例如“阶段”)

    在配置了这两个额外的任务后,它对我来说工作正常。

    (...顺便说一句,VSTS Build 和 CI 现在还支持通过选择代理“HOST VS 2017”来使用 VS2017 构建的 ASP.NET CORE 构建)

    【讨论】:

      【解决方案4】:

      如果有任何自动选项可以执行以下 3 个步骤,那应该可以。

      1. 停止应用服务
      2. 部署代码
      3. 启动应用服务

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-21
        • 2012-10-30
        相关资源
        最近更新 更多