首页 > 解决方案 > 如何通过管道在 Azure devops 部署期间删除本地 wwwroot 文件夹的内容?

问题描述

我正在尝试通过 Azure devops 管道在 IIS 网站上部署我的 .Net 代码。如果 wwwroot 文件夹在部署前保持为空,则部署成功,但如果 wwwroot 文件夹包含文件,则在这种情况下,部署过程不会覆盖这些文件。我想在部署之前删除 wwwroot 文件夹的内容,或者找到一些可以帮助我覆盖现有内容的设置。在各种论坛上提出了几个问题,其中大多数建议人们使用设置“在目标位置删除其他文件”,我尝试了相同的方法,但它对我不起作用。请建议在这种情况下可以做什么。

在此处输入图像描述

标签: c#.netazureazure-devopsazure-pipelines

解决方案


清除文件夹或删除文件可以通过powershell脚本来实现。您可以在部署任务之前添加一个 powershell 任务来完成清理工作。

下面的脚本只是一个例子。 在此处输入图像描述

Try {
    Remove-Item -path "path\to\wwwroot\*" –recurse -ErrorAction Stop
}
Catch {
    Write-Warning "Warning, something failed! $($_.Exception.Message)"
}

但是,我无法重现上述问题。我测试了删除目的地的其他文件。它成功删除了 Web App zip 包中的不匹配文件。我做了一个测试来更改 wwwroot 文件夹中的 appsettings.json 文件,当我重新部署我的网站时它也被替换了。


推荐阅读