无法读取的 azure devops 作业下载

azure devops jobs downloads where it cannot read

我正在开发一个简单的 yaml 管道。两份工作。首先编译,第二个应该部署。编译工作正常,部署下载编译的 zip,然后无法访问文件进行部署。

- deployment: deploy
  pool:
    vmImage: windows-latest
  dependsOn: Cake_CI
  condition: variables.isMain
  displayName: DeployMyJob
  environment: Dev
  strategy:
    runOnce:
      deploy:
        steps:
        - script: dir /s /b $(System.DefaultWorkingDirectory)\..
          displayName: Directory Listing
        - task: AzureRmWebAppDeployment@4
          inputs:
            WebAppName: 'mywebapp'
            azureSubscription: 'mysubscription'
            package: '$(System.DefaultWorkingDirectory)/EventExport/EventExport.zip'
            deploymentMethod: 'runFromPackage'
            appType: 'webApp'

显然下载发生在上面的 dir 任务之前。 Downmload Artifact 任务是隐式的,显示如下

Download from the specified build: #381301
Download artifact to: D:\a/

dir 命令显示以下列表,包括 EventExport.zip,这验证了下载位置。

D:\a\a
D:\a\b
D:\a\EventExport
D:\a\s
D:\a\TestResults
D:\a\EventExport\EventExport.zip

部署失败,因为它在错误的位置查找文件。

##[error]Error: No package found with specified pattern: D:\a\s\EventExport\EventExport.zip

现在在同一作业中下载和使用包之间的脱节在哪里。 感谢所有关注它的人。

因为 $(System.DefaultWorkingDirectory)s 文件夹中:D:\a\s.zip 存在于 D:\a.

所以你可以告诉他向上移动一个文件夹:

$(System.DefaultWorkingDirectory)/../EventExport/EventExport.zip