Azure-Pipelines构建-引用构建中的文件

时间:2019-10-04 11:34:22

标签: azure azure-devops azure-pipelines

我正在尝试在Azure DevOps中构建基于python的工件。 我正在Windows代理上。 这是我的代码的结构:

+-- Dir1
+----Version1
+------Build
+--------build.yaml
+------Script
+--------test_file.py
+--------file.py
+------Docs

在构建管道中,我尝试运行如下命令:

python $(System.DefaultWorkingDirectory)\Dir1\Version1\Script\test_**

我收到错误消息:

python: can't open file 'd:\a\1\s\Dir1\Version1\Script\test_**': [Errno 22] Invalid argument

当我直接引用文件时,它正在工作。 有谁知道为什么这些星号/通配符不能正常工作?

1 个答案:

答案 0 :(得分:1)

  

Azure-Pipelines构建-引用构建中的文件

这是因为 windows的命令解释器不会像UNIX shell那样扩展通配符,然后才将通配符传递给执行的程序或脚本

要解决此问题,可以使用glob模块,该模块提供了独立于平台的通配符匹配方式。

检查this threadthe document以获得更多详细信息。

顺便说一句,如果您使用的是Windows 10,则可以将通配符与Bash任务一起使用。

希望这会有所帮助。