我想压缩并发布一组变更日志文件(我使用 PublishPipelineArtifact 添加到工件的变更日志),使所有用户都可以直接从 Azure Artifacts 源下载它们。 用户应该只需使用 Azure Artifacts 源中的直接下载选项即可下载上传的 ZIP 文件,而无需使用 Azure CLI 命令。
我使用
UniversalPackages@0
任务作为 zip 发布,但为了下载,我需要使用 azure cli 命令。我了解到使用 UniversalPackages@0
时无法直接下载 zip 文件。
请查看上述截图:
然后压缩并将提到的 zip 文件发布到 Azure Artifact Feed。
然后想要从提要的下载按钮下载 zip 文件,但在上述情况下我看不到下载按钮。示例下载按钮的屏幕截图。
我已经提到了这个问题:如何在 azure 工件源中存储 zip 文件工件
提到了如何使用 UniversalPackages 任务发布 zip 文件的答案,我使用相同的任务将 zip 文件发布到 Azure Artifact feed,但我在 Azure Artifact feed 中看不到下载按钮。
简而言之,我想要的是在将 zip 文件发布到 Azure Artifact feed 后,我想从直接下载按钮下载它。这样用户就可以在不使用cli注释的情况下下载它。
您可以使用脚本任务(例如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'