您能否通过 Web 界面列出、查看或下载 AzureDevOps 工件的内容?

Can you list, view or download the contents of an AzureDevOps artifact via the web interface?

在 AzureDevOps Web 界面中,如果我查看工件的提要,我会看到通过 azure cli 下载工件的命令列表,例如

az artifacts universal download blah blah blah

但是没有列出文件或直接从 Web 界面下载文件的选项。 这似乎是一个令人惊讶的遗漏。

是吗:

如果相关,工件是通过 Azure 管道生成的 使用 UniversalPackages 任务发布如下目录:

    - task: UniversalPackages@0
      displayName: 'PublishInstallationPackage'
      inputs:
        command: publish
        publishDirectory: 'pkg'
        versionOption: custom
        versionPublish: $(Build.BuildNumber)
        vstsFeedPublish: 'blah'
        vstsFeedPackagePublish: 'foobar'
        packagePublishDescription: 'It performs a quirkafleeg'
        publishPackageMetadata: true

我发现我们不小心发布了一个空目录,但这似乎只有在您下载工件且未获得任何文件时才可见。

如果您可以建议一种方法来检测发布空目录并使构建失败(目前最好的建议是添加一个在发布前检查目录是否为空的任务),则加分。

您可以从 Web 界面下载 Azure Artifacts。

  1. 导航到您的 Azure 工件包源
  2. 点击你要下载的包
  3. 单击“下载”,它位于顶部栏中“连接到 Feed”的右侧,包名称下方

这将通过网络将包下载到本地UI。

关于检测“空”构建。你是对的,你必须编写一个自定义脚本来检查你的包的内容并确保有内容。如果它检测到没有内容,return 错误退出代码。

我看到您正在尝试下载通用包。不幸的是,目前不支持通过 Web UI 下载通用包。

您将需要使用 az artifacts universal 命令或 UniversalPackages 任务在管道中下载。参见 here

Azure DevOps doesn't support direct HTTP/HTTPS download links.

有用户的声音已经提交给微软开发团队。您可以投票或创建一个新的自己的。请参阅以下用户声音:

Download context menu entry not provided for universal packages

Download Universal Package trough API

但是,Azure devops 提供了一个选项,可以直接从 Web 下载 NPM、Nuget、Maven 和 Python 类型的 Artifacts 包 UI。

关于检测空目录。最好的方法就是你说的添加脚本任务,在发布前检查目录是否为空

如果您想查看包裹的内容。您可以添加 Publish Pipeline Artifacts task 以将包发布为发布管道中的构建工件。

然后您可以导航到相关构建以检查来自 Artifacts Feed UI 的包内容。见下文: