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

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

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

我有4个任务:

enter image description here

我正在使用存档远程文件夹来创建部署文件夹的7zip备份。与存档文件任务相比,此文件使您可以排除文件类型。

我的问题在存档期间出现,这是错误消息:

enter image description here

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

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

我应该检查什么?

谢谢。

azure-devops continuous-deployment 7zip
2个回答
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这两个开源代码。


0
投票

@@ PatrickLu-MSFT

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

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