如何手动将文件发布到Azure Artifacts?

8

我手动在本地计算机创建了一个文件,我需要在多个Azure DevOps管道中使用它。

我想将它用作“工件”(Artifact)。

我知道如何从Azure DevOps管道内发布工件,但我只想从我的计算机上传这个特定的文件。我应该怎么做?


你的意思是要将其制作为“构建/流水线工件”,还是像NuGet(https://azure.microsoft.com/en-us/services/devops/artifacts/)一样使用Azure Artifacts? - Shayki Abramczyk
2个回答

10
如何手动发布文件到 Azure Artifacts?
众所周知,Artifact 的本质是共享文件的存储。我们可以从“发布构建工件”任务中大致了解到这一信息:

enter image description here

但是“构件发布位置”的默认值是Azure Pipelines

enter image description here

这是在Azure上建立的共享空间。

更新:

感谢分享:

我们可以使用AZ命令行从本地上传到共享位置,例如:

az artifacts universal publish --organization https://dev.azure.com/example/ --feed my_feed --name my-artifact-name --version 0.0.1 --description "Test Description" --path

现在让我们回到我们开始的第一句话“Artifact的实质是共享文件的存储”,所以我们可以创建一个共享位置/文件夹来保存文件。 现在它被视为“Artifact”。 然后我们只需要确保其他管道可以访问此共享位置/文件夹即可。

例如,我们可以在私有代理所在的服务器上创建一个文件夹,然后只需将您的文件复制到该文件夹中即可。 现在,我们可以在使用私有代理构建流水线时使用它。 显然,这不限于本地文件夹,我们也可以创建网络文件夹,只需要确保其他管道可以访问它。

希望这能帮到您。


3
谢谢,太棒了。我已经跟我的同事跟进了这个问题,然后他说我可以通过az artifacts universal publish --organization https://dev.azure.com/example/ --feed my_feed --name my-artifact-name --version 0.0.1 --description "Test Description" --path . 从本地上传到共享位置。这个方法可行。我们要更新答案吗? - hey
1
@嗨,当然可以。我已经用你提供的解决方案更新了我的答案,您可以检查是否有任何更新和修改?如果有,请直接免费修改我的答案。感谢您帮助我们构建更好的Azure DevOps。 - Leo Liu
2
注意:--path 必须指向一个目录,而不是一个文件。如果使用文件路径会失败,并且不会告诉你失败的原因。 - Marc

0

你需要通过包管理器(如NuGet、npm或其他)将其推送。但我想更好的选择是将此单个文件提交并推送到特定的存储库(如果此文件特定于单个项目),或者像“实用程序”这样的公共存储库(如果您要在许多项目中重复使用它),然后在管道中下载此存储库(或仅文件)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接