我可以为同一个存储库有多个构建管道吗?

时间:2018-10-26 16:16:07

标签: azure-devops

我有一个包含两个解决方案的存储库。这两个解决方案文件都位于根目录中,基本上是这样的:

/WebsiteOneDirectory/
/WebsiteTwoDirectory/
/.gitignore
/WebsiteOne.sln
/WebsiteTwo.sln

我是否可以构建指向该存储库的多个管道以构建不同的解决方案?当我创建我的第一个管道时,它将为存储库生成一个azure-pipelines.yml文件,因此,我不确定如何/是否能够拥有多个管道配置(如果这是它期望的固定名称)。

2 个答案:

答案 0 :(得分:3)

是的,您可以在触发器中使用路径过滤器

编辑构建,然后转到“触发器”选项卡。在这里,您可以添加或删除分支,还可以添加路径过滤器。

您可以选择显式包括或排除路径。在下图中,您可以看到我在master分支中明确排除了“ docs”文件夹。

Build Triggers

答案 1 :(得分:0)

除了James Reed的答案外,如果您更喜欢使用.yml文件,我建议创建多个.yml定义,每个定义一个。

这是一个什么样子:

trigger:
  branches:
    include:
    - master
  paths:
    include:
    - WebsiteOneDirectory/*
    exclude:
    - WebsiteTwoDirectory/*

对于构建,您需要指定要构建的解决方案。对于(.net核心)示例:

variables:
    buildConfiguration: 'Release'
pool:
    vmImage: 'Ubuntu-16.04'
steps:
- script: dotnet build WebsiteOne --configuration $(buildConfiguration)