首页 > 解决方案 > 对多个项目使用单个部署组 azure devops

问题描述

我有一个 azure devops 组织和 1 个项目,使用组织部署池。我最近创建了第二个项目 (newProject2),并希望在组织池中使用这些相同的代理。无需配置任何东西,池已经出现在 newProject2 中。见下文: 游泳池

但是,当我想在.yml管道中引用它们时,如下所示: yaml 池引用

我在尝试执行管道时收到以下消息:Enviroment required. 但是,机器上安装的所有代理都在另一个项目的环境中注册,我必须在同一台机器上安装一个新代理才能让它们出现在 newProject2 中。这是可以理解的不推荐和死胡同。据我了解,部署组的使用仅在经典管道中可用。这有几个缺点,我不会在这里讨论。

我的问题是:是否可以从多个(不同/辅助)项目(在 .yml 管道中)部署到现有部署池,如果可以,如何部署?

标签: azureazure-devopsazure-devops-pipelines

解决方案


是否可以从多个(不同/辅助)项目(在 .yml 管道中)部署到现有部署池,如果可以,如何部署?

恐怕暂时没有这样的方法可以达到你的要求。

有两个限制:

1.在YAML Pipeline中,我们只能使用Pipeline Environments。部署组无法在 YAML 管道中使用。

有关更多详细信息,您可以参考此文档:部署组作业

2.项目间共享pipeline env时,以部署组的形式共享。

因此,不同项目的 YAML 流水线不能复用同一个流水线环境。

但是你的要求是有道理的。

以下是我们 UserVoice 网站中的建议票:

在多阶段 yaml 文件中使用部署组。

项目内的共享管道环境


推荐阅读