【发布时间】:2020-05-25 05:51:49
【问题描述】:
我们想与我们公司的内部客户共享一个指向通用包的 URL。 打开链接直接下载引用的通用包文件。
我知道我可以使用 Azure CLI 来实现相同的目标,但强制人们安装和正确配置 Azure CLI 仅用于下载包文件并不理想。
因此,我很感兴趣是否有办法获得通用包的直接下载链接。
谢谢
【问题讨论】:
-
您好,没有直接的下载链接。请查看以下解决方法。
标签: azure-artifacts
我们想与我们公司的内部客户共享一个指向通用包的 URL。 打开链接直接下载引用的通用包文件。
我知道我可以使用 Azure CLI 来实现相同的目标,但强制人们安装和正确配置 Azure CLI 仅用于下载包文件并不理想。
因此,我很感兴趣是否有办法获得通用包的直接下载链接。
谢谢
【问题讨论】:
标签: azure-artifacts
答案是否定的。
1,如果您的客户无权访问您的 azure devops 项目。
我能想到的最直接的解决方法是创建一个 azure repo 并将通用包上传到这个 repo。然后创建一个只有Code-read 范围的PAT。然后您可以与您的客户分享以下命令。他们可以使用下面的 git 命令直接下载通用包。
git clone https://{PAT}@dev.azure.com/{Org}/{Proj}/_git/{repoName}
上面创建的 PAT 可能有权访问您的其他 Azure 存储库。要创建一个只访问一个 repo 的更安全的 PAT,您可以参考此线程 Giving a script Git access to a single Azure Repo
2,如果您的客户可以访问您的 azure devops 项目。
他们可以使用自己的凭证直接 git clone 通用包 azure repo。
将通用包推送到 Azure 管道服务器,因为 Torsten 提到的构建工件也是可行的。但这有点复杂。 您必须创建一个管道来发布包并调用 Get Artifacts rest API 以获取构建工件的下载 url。下载 url 将对您的客户进行身份验证以下载工件。(因此,这仅在客户有权访问您的 azure devops 项目时才可行)
【讨论】:
您必须使用 Azure CLI 下载包。 Azure DevOps [当前] 不支持直接 HTTP/HTTPS 下载链接或其他方式下载包。
不过,可以下载构建/管道工件。
【讨论】: