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

时间:2018-08-20 20:44:56

标签: powershell tfs tfsbuild

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

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

我已经考虑过在启用“清理目标”选项的情况下使用“机器文件复制”,但是我不想删除整个目录。如果需要,我可以详细解释我的原因。

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

2 个答案:

答案 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。

enter image description here

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

赞这个 enter image description here