Visual Studio Online/Azure使用Powershell停止和启动Web应用程序

aga*_*tee 7 powershell azure azure-devops

我正在使用Visual Studio Online的构建工具从单一解决方案部署Web应用程序.我偶尔会遇到文件锁定问题.

错误:因为它是由一个外部进程锁定Web部署不能修改目标文件"Microsoft.CodeAnalysis.CSharp.dll".

经过一些谷歌搜索,我认为"修复"是在Azure上部署之前停止Web应用程序并在之后重新启动它.听起来像是对的.

但是,似乎没有直接在VSO的构建定义上直接执行此操作的方法.我已经创建了一个"Azure Powershell"构建任务,但它需要来自存储库的PS1文件.它似乎不允许我从这里运行Azure Powershell命令(例如Stop-AzureWebsite).我的团队创建了一个解决方法,我们有一个"run.ps1",只执行您作为参数传递的命令,但我们都不满意.

我们缺少什么?如果没有将PS1脚本检入源代码管理,必须有一种更简单的方法.

jan*_*oly 3

我通过从 Visual Studio Marketplace安装Azure 应用服务 - 启动和停止扩展解决了这个问题。
安装后,它将允许您使用和任务将Deploy Website to Azure任务包装在发布定义中,从而有效地消除锁定问题。Azure AppServices StopAzure AppServices Start

VSO 发布任务