0

我们将 Azure DevOps 用于我们的 .NET 源代码控制。我们使用 Git 和 TFS 工作流程来运营项目(前者是较新的工作,后者是遗留项目)。这是因为当 Azure DevOps 只是 TFS 时,我们只有“源”根文件夹,其中包含用于不同类型软件的子文件夹,然后是每个文件夹中的项目。这适用于 TFS 使用的签入/提交过程类型。现在有了 DevOps 和 Git 工作流程,而不是一个名为 Source 的单一“根”存储库,其中包含分解不同解决方案的文件夹,我们拥有代表每个不同软件解决方案的不同存储库。

对于 GIT 工作流下的项目,我们可以放心地使用 Azure 管道创建 CI/CD 发布流程。但是,我不确定我们如何使用它来处理基于 TFS 的存储库。在 Azure DevOps 门户中,我们的 TFS 存储库(即使它包含许多不同的解决方案/项目)在门户中表示为一个称为“源”的“项目”。

这意味着我不清楚如何让 CI/CD 管道工作,因为我们只想为该 \Source 项目中的某些项目构建管道。有谁知道如何做到这一点?如果我们简单地看一下 Git 项目,每个项目都是独立的并且是自包含的,但是 \Source 由文件夹和子文件夹组成,每个文件夹中都有项目。这不是一个可以签入和释放的大型项目。我希望这是有道理的,也许对 Azure DevOps 中这种“双工作流”类型的源代码控制有一定经验的人可以发表评论?

4

1 回答 1

3

你可以创建多个 Azure Pipelines,每个都查看 TFVC 存储库(Team Foundation 版本控制)。然后,每个管道都配置有自己的映射,您必须非常具体地获取为该管道构建解决方案所需的文件。

您可以使用包含 (map) 和排除 (cloak) 定义工作区映射。您可以隐藏单个文件,但您必须在我上次检查时手动输入它们的服务器路径。

在此处输入图像描述

下一步是配置 CI 过滤器以查看正确的路径。这可能与您的工作区映射相同,但我也看到了配置更多特定过滤器的情况。

在此处输入图像描述

您最终将为托管 TFVC 存储库的项目中的每个解决方案提供一个或多个管道。命名管道可能很重要。

于 2019-05-10T07:30:08.677 回答