我想发布 zip 文件,然后直接从 Azure Artifact feed 下载。哪个任务可以帮助我做到这一点?

问题描述 投票:0回答:1

我想压缩并发布一组变更日志文件(我使用 PublishPipelineArtifact 添加到工件的变更日志),使所有用户都可以直接从 Azure Artifacts 源下载它们。 用户应该只需使用 Azure Artifacts 源中的直接下载选项即可下载上传的 ZIP 文件,而无需使用 Azure CLI 命令。

我使用

UniversalPackages@0
任务作为 zip 发布,但为了下载,我需要使用 azure cli 命令。我了解到使用
UniversalPackages@0
时无法直接下载 zip 文件。

请查看上述截图:

我已经发布了工件的变更日志: artifact

然后压缩并将提到的 zip 文件发布到 Azure Artifact Feed。

feed screenshot

然后想要从提要的下载按钮下载 zip 文件,但在上述情况下我看不到下载按钮。示例下载按钮的屏幕截图。 downloadbutton

我已经提到了这个问题:如何在 azure 工件源中存储 zip 文件工件

提到了如何使用 UniversalPackages 任务发布 zip 文件的答案,我使用相同的任务将 zip 文件发布到 Azure Artifact feed,但我在 Azure Artifact feed 中看不到下载按钮。

简而言之,我想要的是在将 zip 文件发布到 Azure Artifact feed 后,我想从直接下载按钮下载它。这样用户就可以在不使用cli注释的情况下下载它。

azure-devops azure-pipelines azure-pipelines-yaml azure-pipelines-tasks
1个回答
0
投票

您可以使用脚本任务(例如PowerShell、Bash等..)来运行“

az artifacts universal download
”命令。

  • 从项目范围源下载通用包。
steps:
- task: Bash@3
  displayName: 'Download Universal Package'
  env:
    AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
  inputs:
    targetType: inline
    script: |
      az artifacts universal download \
        --project 'projectName' \
        --scope 'project' \
        --feed 'feedName' \
        --name 'packageName' \
        --version 'packageVersion' \
        --path 'path/to/place/the/downloaded/package'
  • 从组织范围的源下载通用包。
steps:
- task: Bash@3
  displayName: 'Download Universal Package'
  env:
    AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
  inputs:
    targetType: inline
    script: |
      az artifacts universal download \
        --organization 'organizationName' \
        --scope 'organization' \
        --feed 'feedName' \
        --name 'packageName' \
        --version 'packageVersion' \
        --path 'path/to/place/the/downloaded/package'

如果 Feed 与管道托管在同一组织中,您可以将环境变量

AZURE_DEVOPS_EXT_PAT
的值设置为
$(System.AccessToken)
。否则,您需要提供 PAT(个人访问令牌)作为值。您可以将 PAT 设置为管道中的秘密变量,并将秘密变量传递给
AZURE_DEVOPS_EXT_PAT

steps:
- task: Bash@3
  displayName: 'Download Universal Package'
  env:
    AZURE_DEVOPS_EXT_PAT: $(my_ado_pat)
  inputs:
    targetType: inline
    script: |
      az artifacts universal download \
        --organization 'organizationName' \
        --scope 'organization' \
        --feed 'feedName' \
        --name 'packageName' \
        --version 'packageVersion' \
        --path 'path/to/place/the/downloaded/package'

© www.soinside.com 2019 - 2024. All rights reserved.