有没有一种简单的方法可以下载最新的通用包内容,而无需使用 Azure CLI 运行所有命令?
在我的项目中,我们将从(.NET 应用程序的)管道生成的安装程序作为通用包存储在 Azure Artifacts 中。这是一个包含安装程序的 ZIP 文件。
虽然在 TeamCity 中下载 Zip 文件很容易,但在 Azure Devops 中却很令人头疼。我的团队中有 30 个人每周必须下载安装程序,我们正在寻找一种简单的方法来下载它(至少是最新的通用包)。
如果需要在没有 Azure CLI 的情况下从命令行下载 ZIP 存档,则依赖 Maven 存储库而不是通用包可能更容易,因为后者不允许直接下载工件。
您可以使用
Maven@4
任务在管道中上传 ZIP:
- task: Maven@4
displayName: Upload archive
inputs:
mavenAuthenticateFeed: true
goals: 'deploy:deploy-file'
options: "-DgroupId=$(ARCHIVE_GROUP_ID) \
-DartifactId=$(ARCHIVE_ARTIFACT_ID) \
-Dversion=$(ARCHIVE_SEMANTIC_VERSION) \
-Dfile=$(ARCHIVE_ZIP_FILE_LOCATION) \
-Dpackaging=zip \
-DrepositoryId=$(ARTIFACT_FEED_NAME) \
-Durl=https://pkgs.dev.azure.com/$(AZURE_DEVOPS_PROJECT)/_packaging/$(ARTIFACT_FEED_NAME)/maven/v1"
publishJUnitResults: false
以上要求您正确定义以下变量:
$(ARCHIVE_GROUP_ID)
$(ARCHIVE_ARTIFACT_ID)
$(ARCHIVE_SEMANTIC_VERSION)
$(ARCHIVE_ZIP_FILE_LOCATION)
$(ARTIFACT_FEED_NAME)
$(AZURE_DEVOPS_PROJECT)
完成后,可以轻松地从 Azure DevOps 中的 Maven 存储库下载工件,您只需要使用以下凭据:
Packages read
权限的 PAT。有没有一种简单的方法可以下载最新的通用包内容,而无需使用 Azure CLI 运行所有命令?
要在Azure Devops中下载通用包,我们可以使用通用包任务:
我们可以在 Version 选项中使用通配符来获取具有主要版本的最高版本。
顺便说一句,有一个用户的声音关于使用REST API下载通用包。如果有可用的 REST API,那么 ERST API 也将是一个不错的选择。您可以投票并发表评论。