当前位置: 首页 > 知识库问答 >
问题:

我们可以在发布管道-Azure devOps中发布工件吗?

桑飞语
2023-03-14

我有一个java应用程序,并试图使用Azure运营模式来构建和部署。能够进行构建并在构建管道中发布工件。在发布管道中,我在每个阶段都有一个maven任务来分解特定于环境的构建,我可以这样做,但是我想把它作为一个类似于构建管道中的工件来发布。有没有任何任务可以做到这一点或任何其他替代方法?

共有2个答案

柴彬
2023-03-14

我面临着同样的问题:我想在发布管道中上传工件,然后在稍后的代理阶段再次下载这些工件。

根据相关SO帖子的一些答案,我创建了一个扩展,提供了以下可能性:

  • 上传文件或文件夹到发布日志
  • 从之前上传的日志中自动下载一个工件

上载任务使用内置的日志记录命令将文件添加到发布日志中。然后,下载任务查询Azure运营模式REST Api以下载到目前为止收集的所有日志,尝试查找指定的工件并将其复制到特定位置。

如果有人感兴趣,可以在市场上找到

寇景明
2023-03-14

我们可以在发布管道-Azure devOps中发布工件吗?

很抱歉给您带来不便。

这种行为是由设计的,微软回答说,他们没有计划在不久的将来支持上传文件夹/工件。

当您检查文档发布管道工件任务时,它指出:

在管道中使用此任务可发布Azure管道的工件(请注意,发布管道不支持发布。多阶段管道、构建管道和yaml管道支持发布)。

如果直接检查执行的代码,则可以看到发布管道工件任务仅适用于构建管道。

您可以在github上查看此票证以了解更多详细信息,许多社区正在等待发布管道中的发布工件。

因此,我帮助您在我们的UserVoice网站上添加了此功能的请求,该网站是我们提供产品建议的主要论坛:

https://developercommunity.visualstudio.com/idea/823829/support-publish-artifact-from-release-pipeline.html

您可以对此反馈进行投票并添加评论。当有足够多的社区对此反馈进行投票并添加评论时,产品团队成员将认真对待此反馈。

希望这有帮助。

 类似资料:
  • 看起来,PublishBuildArtifacts任务在发布环境中不可用。 https://docs.microsoft.com/de-de/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact?view=azure-德沃斯 但是,当我们的客户从Azure存储库(通用软件包)中获取新的工件版本时,有机会通过发布管道发布这些工件

  • 我一直在努力解决Azure DevOps中的一个问题,我可以通过构建管道成功构建工件(我使用发布工件任务)。我可以看到该工件已成功构建,因为我可以下载它,并在稍后的发布管道中引用它。 问题是,当启动托管代理时,不会将任何工件下载到计算机,并且我的$(System.DefaultWorkingDirectory)始终为空。我不知道为什么在托管代理的初始化过程中,实际上没有下载任何工件。。。。

  • 最近刚刚构建了一个 Azure 管道,其中在一个阶段中,项目暂存目录中有不同的 zip 文件。我试图实现的是使用艺术任务将暂存文件夹中的所有zip文件发布到放置文件夹。 我在工件暂存目录中有两个存档的zip文件: $(Build.ArtifactStagingDirectory)/$(Build.BuildId). zip $(Build.ArtifactStagingDirectory)/cli

  • 我目前正在尝试在Azure运营模式服务器中设置一个包含多个工件的发布管道。第一个工件是从构建管道发布的,另一个工件是托管在Azure工件提要中的NuGet包。 当我创建和部署版本时,它成功下载了第一个工件,没有问题,当它继续下载NuGet包时,任务被标记为成功,但是它无法下载日志中包含以下内容的NuGet包。 知道会发生什么吗?

  • 首先-我知道,根据官方MS文档,通过部署控制更新具有发布状态的工作项的内置功能仅在发布管道中受支持,而在多阶段YAML管道中不受支持(请参阅此处记录的第一个注释:https://docs.microsoft.com/en-us/azure/devops/boards/work-items/work-item-deployments-control?view=azure-德沃斯) 是否有人使用pow

  • 我已经在我的环境中配置了一个发布管道,作为开发- 我的问题是,是否有可能在各个阶段禁用手动部署,比如在测试阶段完成之前,我们不应该部署到uat。 现在,我们将能够手动运行uat阶段,即使开发和测试阶段没有完成或者我们还没有运行这些阶段。