我正在使用TFS v2015将Web应用程序部署到远程服务器。由于我们项目的结构方式(作为网站项目),构建最终为每个.cs创建了一个单独的DLL。 DLL文件的名称是随机的,并且在每次部署时都会更改。这样一来,bin文件夹中就会有25,000多个文件,其名称类似于“ App_Web_0bbazvic.dll”。
我想做的是,在将文件复制到目标计算机之前,从远程bin目录中删除所有与模式“ /bin/app_code_*.dll”匹配的文件。
我已经考虑过在启用“清理目标”选项的情况下使用“机器文件复制”,但是我不想删除整个目录。如果需要,我可以详细解释我的原因。
我还在考虑“目标计算机上的Power Shell”任务。任何建议,将不胜感激。另外,远程服务器与构建代理不在同一域中。
答案 0 :(得分: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
答案 1 :(得分:0)
您可以使用简单的Delete Task来执行此操作,甚至无需假设您的文件位于代理程序运行所在的相同位置即可使用PowerShell。
赞
要删除远程路径中的文件,可以使用Remote delete task