Azure Dev Op:'C:\ Program'不识别为内部或外部命令

时间:2020-03-20 12:27:58

标签: azure-devops continuous-deployment 7zip

我正在尝试在Azure Dev ops上运行发布作业。

我有4个任务:

enter image description here

我正在使用Archive Remote Folder创建部署文件夹的7zip备份。与“存档文件”任务相比,该文件使您可以排除文件类型。

我的问题在存档过程中出现,这是错误消息:

enter image description here

我尝试将7zip添加到环境变量中,但仍然相同。我在想,也许只是运行本地powershell任务来执行存档,然后在其中可以将引号添加到7zip所在的程序文件中的位置。

很有趣,我为两个盒子设置了相同的设置,但是在第一个盒子上运行得很好。

我应该检查什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

与官方Archive Files task不同,“归档远程文件夹任务”是社区贡献者发布的第三方扩展。

还安装并测试了此任务,但在我们的环境中无法重现相同的错误。

根据市场上这项任务的tutorial,您需要遵循以下要求:

  • 您的远程服务器必须启用并配置WinRM。
  • 您的远程服务器必须安装7z。

'C:\Program' is not a recognized as a internal or external command这看起来像您的本地路径C:\Program Files\xx包含空格被视为命令行的一部分。

由于“归档远程文件夹任务”的最新更新是2016年11月17日,所以我认为向作者提交错误不是一个好主意。

正如您在问题中指出的那样,您可以仅运行本地powershell任务来进行存档。另一个选择是编写自己的扩展任务来处理该过程,您可以看看Archive Remote Folder TaskArchive Files task这两个开源代码。

答案 1 :(得分:0)

@ PatrickLu-MSFT

是的,这就是我的想法。我不知道如何将7z exe的路径不视为字符串。最后,我要做的是在7z周围创建我自己的powershell包装函数,并以这种方式对其进行存档。从那里一切顺利。