使用TFS构建/发布定义从远程服务器删除文件

问题描述 投票:0回答:2

我正在使用TFS v2015将Web应用程序部署到远程服务器。由于我们的项目结构的方式(作为一个网站项目),构建最终为每个.cs创建一个单独的DLL。 DLL文件的名称是随机的,并在每次部署时更改。这导致bin文件夹中有25,000多个文件,其名称类似于“App_Web_0bbazvic.dll”。

我想要做的是,在将文件复制到目标机器之前,从远程bin目录中删除与模式“/bin/app_code_*.dll”匹配的所有文件。

我已经考虑使用“机器文件复制”并启用了“清除目标”选项,但我不想删除整个目录。如果需要,我可以更详细地解释我的理由。

我也在考虑“目标机上的Power Shell”任务。任何建议,将不胜感激。此外,远程服务器与构建代理不在同一个域中。

powershell tfs tfsbuild
2个回答
0
投票

如果能够使用WinRM,可以添加类似这样的内联脚本。

Get-ChildItem -Path C:\Path\To\Files -recurse -include app_code_*.dll | Remove-item

https://docs.microsoft.com/en-us/vsts/pipelines/tasks/deploy/powershell-on-target-machines?view=vsts


0
投票

您可以使用简单的Delete Task执行此操作,甚至不使用PowerShell,假设您的文件位于运行代理程序的相同位置。

像这样

enter image description here

要删除远程路径中的文件,可以使用Remote delete task

喜欢这个enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.