AzurePowerShell 任务找不到文件路径

AzurePowerShell task cannot find filePath

我正在尝试 运行 Azure Yaml Pipelines 中的 PowerShell 脚本,但出现此错误:

##[error]The term 'D:\a\s\myPowershellFile.ps1' 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.

代码:

jobs:
  - deployment: Deploy
    displayName: Deploy
    environment: $(myEnvironment)
    pool:
      vmImage: 'windows-latest'

    strategy:
      runOnce:
        deploy:
          steps:          
          - task: AzurePowerShell@5
            displayName: 'Run Powershell script'
            inputs:
              azureSubscription: $(azureConnectionName)
              scriptType: filePath
              scriptPath: './myPowershellFile.ps1'
              azurePowerShellVersion: latestVersion

文件被推送到触发构建的分支的仓库。我还尝试使用 $(Pipeline.Workspace)$(Build.SourcesDirectory) 显式引用路径。版本 4 也不起作用。根据 the docs 这应该有效!

不禁注意到,您使用 正斜杠“/” 作为文件路径的分隔符,而不是 反斜杠“\” 就像您在 azure 文档中指向的示例:

- task: AzurePowerShell@5
  inputs:
    azureSubscription: my-arm-service-connection
    scriptType: filePath
    scriptPath: $(Build.SourcesDirectory)\myscript.ps1

这看起来像是原因。

这里也有类似的问题。看起来这取决于您使用的是 windows 还是 linux 代理:

经过更多研究后,我发现 this article 表明不会为部署作业自动下载文件。我添加了这一步,解决了这个问题!

- checkout: self