azure-devops - 找不到 VSTS Windows 机器文件副本 robocopy

标签 azure-devops robocopy azure-pipelines-release-pipeline

因此,我们正在设置一个版本,我们希望将一些工件复制到目标服务器以开始部署。不幸的是,当任务开始时,它在实际副本上出错,出现以下错误:

The term 'robocopy' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

然而,当同时检查源机器和目标机器时,robocopy 命令(来自 Powershell 和 CMD.exe 的命令都可以完美运行并显示默认的 robocopy 启动屏幕。

我们正在使用运行 Windows Server 2016 的私有(private)构建代理。

我检查了 PATH 变量,C:\Windows\System32 在列表中,在两个系统上运行搜索在同一目录中返回 robocopy.exe。

在托管代理上运行任务使其运行良好。所以这绝对是一个本地问题,只是看不出这可能来自哪里。

构建代理上 echo %PATH% 和 robocopy 的结果: Echo

失败任务的发布结果:

Release

根据 Shayki 的要求,任务定义:

TaskDef

最佳答案

由于某些未知原因,%PATH% 变量在执行 echo %PATH% 时会显示 C:\Windows\System32,但是当通过控制面板中的环境变量时,PATH 环境变量中没有它的条目。

将 C:\Windows\System32 文件夹添加回 PATH 系统环境变量(并将其放在顶部)为我们修复了它。

关于azure-devops - 找不到 VSTS Windows 机器文件副本 robocopy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51856618/

相关文章:

Robocopy 到多个目的地

azure - VSTS 数据库部署到 Azure - 循环任务组(或类似的东西)

azure - 如何向 azure devops 服务连接授予 roleAssignement/write 权限

powershell - Start-Job with credential in 自定义任务问题

git - 向 Microsoft 请求凭据后 URL 身份验证失败

command-line-arguments - Robocopy 的 "restartable"选项是什么?

azure-devops - 如何在 VSTS API 中删除带注释的标签(git 标签)?

powershell - 如何将带有空格的参数作为数组传递给 Powershell 中的 RoboCopy?

azure - 如何使用 azure tfs 在 CI/CD 管道中配置应用程序设置

azure-devops - Azure DevOps SQL Dacpac 发布作业 - 提取构建变量