首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AzDo中为2个独立的项目/存储库构建/发布管道的最佳方法

在AzDo中为2个独立的项目/存储库构建/发布管道的最佳方法
EN

Stack Overflow用户
提问于 2020-08-26 21:05:33
回答 2查看 82关注 0票数 1

我在AzDo中有2个独立的项目,project-1包含repo来构建docker镜像,并像1.0.0 , 1.0.1等一样相应地标记它,在另一个projects-2中有2个独立的repos使用这些标记。目前,这是在repos@project-2中手动完成的。

我的问题是如何在AzDo中自动化这个过程,这意味着如果repo@project1中有一个新的docker标签,那么它将自动在project-2中使用这个新的docker标签构建repos。

例如,当前project-1具有图像: 1.0.0,这在project-2中手动引用1.0.0的2个代码库中使用。现在我在project-1中用2.0.0构建了一个新的标记,那么我如何使用这个新的2.0.0自动构建2个repos@project-2。是否存在从一个构建/发布管道到另一个管道/项目的链接/信号?

任何建议都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2020-08-27 06:35:30

最简单的方法是使用pipeline triggers,它允许您触发一个接一个的管道。你可能会在获取docket image标签时遇到问题,但你可以通过点击容器注册表来解决这个问题。

也请查看stages filter,也许他们会为您的案例提供价值。

在这个sprint中,我们添加了对'stages‘的支持,作为对YAML中的管道资源的过滤。使用此筛选器,您无需等待整个CI管道完成即可触发您的CD管道。现在,您可以选择在CI管道中的特定阶段完成后触发CD管道。

另一种选择是当您的图像被推送到容器注册表并通过REST API触发另一个管道时,使用webhook。

票数 1
EN

Stack Overflow用户

发布于 2020-08-27 14:30:23

根据您的描述,您似乎在谈论两个不同的团队项目

代码语言:javascript
复制
Is there any link/signal from one build/release pipeline to another pipeline/project?

您希望在另一个团队项目中触发管道。

在经典编辑器中,管道触发器称为构建完成触发器。您可以选择同一项目中的任何其他构建作为触发管道。

因此,您必须在YAML文件中直接指定管道触发器,而不是在UI中配置构建完成触发器。

代码语言:javascript
复制
# this is being defined in app-ci pipeline
resources:
  pipelines:
  - pipeline: securitylib   # Name of the pipeline resource
    source: security-lib-ci # Name of the pipeline referenced by the pipeline resource
    trigger: 
      branches:
      - releases/*
      - master

要在完成一个管道后触发另一个管道,请将触发管道指定为管道资源。

注意:如果触发管道位于另一个Azure DevOps项目中,则必须使用project: OtherProjectName指定项目名称。

更多详细示例和限制请参阅:https://stackoverflow.com/a/61398607/5391065

对于经典编辑器,您需要使用一些第三方扩展,比如这个--Trigger Azure DevOps Pipeline,它能够选择管道所在的其他项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63598325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档