突然,Web部署开始失败.
Could not find file 'D:\home\site\wwwroot\App_Offline.htm'.
Run Code Online (Sandbox Code Playgroud)
我停止了服务,但部署仍然失败.
当我尝试从Kudu PowerShell UI中的wwwroot删除任何文件时,我收到错误"404 file not find",但刷新后仍然显示该文件.当我试图直接在powershell中删除文件时,我收到错误
Cannot remove item D:\home\site\wwwroot\Azure.Storage.dll: Invalid access to memory location.
At line:1 char:1
+ del .\Azure.Storage.dll
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (D:\home\site\wwwroot\Azure.Storage.
dll:FileInfo) [Remove-Item], IOException
+ FullyQualifiedErrorId : RemoveFileSystemItemIOError,Microsoft.PowerShell
.Commands.RemoveItemCommand
Run Code Online (Sandbox Code Playgroud)
我删除了该服务,重新创建它,并且Visual Studio中的第一个部署是Ok.但第二天部署再次失败.这些部署之间唯一的事情就是从VSTS部署.但我之前能够以任何顺序从VSTS和Visual Studio部署而没有任何问题.
我是该应用服务的所有者.
部署日志.
(2018-08-06 13:05:03) An error occurred when the request was processed on the remote computer.
Could not find file 'D:\home\site\wwwroot\App_Offline.htm'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
at System.Xml.XmlWriterSettings.CreateWriter(String outputFileName)
at System.Xml.XmlWriter.Create(String outputFileName, XmlWriterSettings settings)
at Microsoft.Web.Deployment.AppOfflineRuleHandler.AddAppOfflineFilesToEachApp(DeploymentBaseContext baseContext, Boolean whatIf)
at Microsoft.Web.Deployment.AppOfflineRuleHandler.AddChild(DeploymentSyncContext syncContext, DeploymentObject destinationParentObject, DeploymentObject& sourceObject, Boolean& proceed)
at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAddChild(DeploymentObject destParent, DeploymentObject sourceObject, Int32 position)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncDirPathChildren(DeploymentObject destRoot, DeploymentObject sourceRoot)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenNoOrder(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable`1 syncPassId, String syncSessionId)
at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable`1 passId, String user, String siteName)
Publish failed to deploy.
Run Code Online (Sandbox Code Playgroud)
Ram*_*lac 40
突然之间,VSTS默认部署模式变为Run-From-Zip.
解决方案是在VSTS部署中设置" 选择部署方法"复选框,并确保选中" Web部署".
要"解锁"服务,您需要从应用程序设置页面删除设置WEBSITE_RUN_FROM_ZIP
joa*_*mja 25
我今天在Net Core 2.2上遇到了同样的问题,解决方案是删除天蓝色的appsettings中的设置“ WEBSITE_RUN_FROM_PACKAGE”
Sli*_*SFT 11
我们也遇到了同样的问题-文件系统在变为只读WEBSITE_RUN_FROM_PACKAGE=1
。在最近的平台升级期间,Azure应用服务似乎正在自动添加此应用设置。
我确实建议通过Web部署使用“从程序包运行”-但您可以通过设置轻松还原其强制更新WEBSITE_RUN_FROM_PACKAGE=0
。如果您使用的是Azure DevOps,则最新版本的App Service Deploy v4支持Run-From-Package。
Pra*_* R. 10
这是因为Azure DevOps (VSTS) Pipeline 中的AzureWebApp任务将“WEBSITE_RUN_FROM_PACKAGE”更新为“1”。这主要由 Azure Functions 使用,我们需要在其中部署整个包(并将 wwwroot 设为只读)。虽然它在 Functions 中非常有用,但您会在普通 Web 应用程序中看到奇怪的东西(例如找不到 App_Offline、找不到 wwwroot/lib 文件夹、您会在 FTP 文件夹中看到旧文件但在 Kudu 控制台中看到最新文件等)。
最简单的解决方法是将 YAML 文件中的设置“deploymentMethod”更新为“zipDeploy”。
归档时间: |
|
查看次数: |
6426 次 |
最近记录: |