通过“Azure应用程序服务部署”部署webjob并在目标位置删除其他文件选项
问题描述:
我试图在VSTS上的单个发行版定义中部署多个webjobs。通过“Azure应用程序服务部署”部署webjob并在目标位置删除其他文件选项
我的问题是,我的网页作业中包含的文件可以更改(添加/更新/删除)。默认情况下,使用任务Azure app service deploy
部署新版本时,不会从服务器中删除现有文件。这会导致我的webjob中的文件停留在我的服务器上并导致错误。
为了解决我的问题,我试图启用“在目的地删除附加文件”。但由于我必须在单独的任务中部署每个webjob(Azure app service deploy
仅支持单个web包),因此每个连续部署都会删除先前部署的webjob的文件。
有关如何轻松解决这个问题的任何想法?
目前我唯一的猜测是通过powershell连接到web应用程序,并删除现有的webjob与命令行Remove-AzureWebsiteJob
。
但我主要关心的是关于删除整个webjob(s),我认为也会删除他们的日志和执行历史...
答
有一种方法,你可以做到这一点,没有很好的文件,通过使用wawsdeploy tool。
后,你得到的巧克力工具:
- 下载你的应用程序的发布配置文件形式的门户。
- 转到您想要为特定Web工作部署文件的文件夹。
- 运行:
wawsdeploy . c:\folderwithyourprofile\YourApp.PublishSettings /t D:\home\site\wwwroot\App_Data\jobs\continuous\YourJob /d
这里,/d
使其删除所有未知文件一个文件夹内,所以它不会碰你的其他WebJobs。您可以先尝试运行它,而不使用/d
来熟悉该工具,并确保它在开始删除东西之前将文件放在正确的位置。
请注意,仅使用msdeploy命令行就可以做类似的事情,但它需要一组非常复杂的参数。有关详情,请参阅我的post。
使用powershell任务来运行这些功能 https://*.com/questions/43801618/remove-files-and-foldes-on-azure-before-a-new-deploy-from-vsts – vip32