在 Azure Dev Ops 上:如何查看包位置目录 $(Build.ArtifactStagingDirectory) 的内容

joh*_*air 8 yaml azure azure-devops

我已经成功构建了我的 asp.net 网站管道,该管道已将我的网站打包为$(Build.ArtifactStagingDirectory)zip 文件。如何通过 dev.azure.com 查看该目录的内容?

我希望能够在“工件”视图中查看它,但该视图仅显示包源,没有查看 zip 文件的选项。

尝试查看工件并将文件复制到放置文件夹 - 它们在任何地方都不可见。

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'


- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Build.ArtifactStagingDirectory)'
    Contents: '**'
    TargetFolder: 'drop'
Run Code Online (Sandbox Code Playgroud)

Sha*_*zyk 8

您应该在构建结束时添加Publish Build Artifactszip任务,然后该文件将在构建摘要中可用,并且您可以在发布中下载它:

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

当您单击工件时,您将看到该文件。


Viv*_*Dev 6

如果您使用 Linux 代理(例如ubuntu-latest ),以下内容会有所帮助。

    - task: CmdLine@2
      displayName: 'Directory listing - Build.ArtifactStagingDirectory'
      inputs:
        script: |
          cd $(Build.ArtifactStagingDirectory)
          ls -Rla
Run Code Online (Sandbox Code Playgroud)

输出可能看起来像这样。

total 12
drwxr-xr-x 3 vsts docker 4096 Oct  5 09:08 .
drwxr-xr-x 6 vsts docker 4096 Oct  5 09:08 ..
drwxr-xr-x 5 vsts docker 4096 Oct  5 09:08 reactonacraks

./reactonacraks:
total 540
drwxr-xr-x 5 vsts docker   4096 Oct  5 09:08 .
drwxr-xr-x 3 vsts docker   4096 Oct  5 09:08 ..
-rw-r--r-- 1 vsts docker    310 Oct  5 09:08 .gitignore
-rw-r--r-- 1 vsts docker    195 Oct  5 09:08 Dockerfile
-rw-r--r-- 1 vsts docker    223 Oct  5 09:08 Dockerfile.dev
-rw-r--r-- 1 vsts docker   3362 Oct  5 09:08 README.md
drwxr-xr-x 3 vsts docker   4096 Oct  5 09:08 iac
-rw-r--r-- 1 vsts docker    817 Oct  5 09:08 package.json
drwxr-xr-x 2 vsts docker   4096 Oct  5 09:08 public
drwxr-xr-x 2 vsts docker   4096 Oct  5 09:08 src
-rw-r--r-- 1 vsts docker 510352 Oct  5 09:08 yarn.lock
Run Code Online (Sandbox Code Playgroud)


Rob*_*gan 5

是的,在构建管道时查找文件存在的位置有点像试图在瓶子里建造一艘船。使用命令行任务运行脚本,在其中执行 dir 命令以查看目录的内容。然后您可以看到日志中回显的实际文件(和路径)。类似的东西

- task: CmdLine@2
  displayName: 'Directory listing - Build.ArtifactStagingDirectory'
  inputs:
    script: |
      D:
      cd $(Build.ArtifactStagingDirectory)
      dir /b /s
Run Code Online (Sandbox Code Playgroud)

我实际上不记得该目录是在 C: 还是 D: 上,所以你可能需要尝试一下。