Powershell 脚本无法识别 Devops 管道中的文件

Powershell script not recognizing file in Devops Pipeline

我的 devops 存储库中有一个名为 functionapp 的 powershell 脚本。ps1 位于名为 Deploy 的文件夹中。

我的yml文件中有如下代码行:

  - task: PowerShell@2
    inputs:
      filePath: '$(Pipeline.Workspace)/Deploy/functionapp.ps1'

当阶段正在 运行 并且它到达此任务时,我收到以下错误:

##[错误]文件路径无效 'D:\a\Deploy\functionapp.ps1'。需要 .ps1 文件的路径。

我尝试使用 filePath: '$(System.DefaultWorkingDirectory)/Deploy/functionapp.ps1'

我最终遇到了同样的错误。有人可以告诉我这里有什么问题吗?

下载源代码文件的默认目录是C:\agent_work\s 并且可以从内置变量 $(Build.SourcesDirectory)

中引用

因此,您需要在 powershell 任务中使用以下文件路径:

filePath: '$(Build.SourcesDirectory)/Deploy/functionapp.ps1'

您也可以使用

 filePath: '$(Pipeline.Workspace)/s/Deploy/functionapp.ps1'

如果自(主)存储库的检出步骤没有定义自定义检出路径,或者检出路径是自存储库的多重检出默认路径 $(Pipeline.Workspace)/s/<RepoName>,则此变量的值将恢复为默认值,即 $(Pipeline.Workspace)/s

可以从下面找到包含内置变量的列表URL:

https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml