Skip to content
multi project/module Azure Pipelines sample
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.azure-pipelines
AzurePipelineSample.NETCore.Console.Test
AzurePipelineSample.NETCore.Console
AzurePipelineSample.NETStandard.Core.Test
AzurePipelineSample.NETStandard.Core
AzurePipelineSample.NETStandard.Lib.Test
AzurePipelineSample.NETStandard.Lib
.gitattributes
.gitignore
AzurePipelineSample.sln
LICENSE.txt
README.md
azure-pipelines-pr-console.yml
azure-pipelines-pr-core.yml
azure-pipelines-pr-lib.yml
azure-pipelines-pr.yml
azure-pipelines.yml

README.md

AzurePipelineSample

multi project/module Azure Pipelines sample

Pipeline Status
master Build Status
PullRequest(Lib) Build Status
PullRequeset(Core) Build Status
PullRequest(Console) Build Status
PullRequest Build Status

Azure Pipeline Settings

Projects

  • Lib
    • AzurePipelineSample.NETStandard.Lib
    • AzurePipelineSample.NETStandard.Lib.Test
  • Core
    • depends on Lib
    • AzurePipelineSample.NETStandard.Core
    • AzurePipelineSample.NETStandard.Core.Test
  • Console
    • depends on Core
    • AzurePipelineSample.NETCore.Console
    • AzurePipelineSample.NETCore.Console.Test

Pipelines

Sample provides two pull-request pipeline type. Select pipeline type under:

  • Allow duplicate build on many pipelines when changing within multi projects
    • pipeline: PullRequest(Lib), yaml: azure-pipelines-pr-lob.yml
      • Build Lib, Build Core, Test Lib
    • pipeline: PullRequest(Core), yaml: azure-pipelines-pr-core.yml
      • Build Lib, Build Core, Build Console, Test Core
    • pipeline: PullRequest(Console), yaml: azure-pipelines-pr-console.yml
      • Build Lib, Build Core, Build Console, Test Console
  • Distribute build on one pipeline when changing within multi projects
    • pipeline: PullRequest, yaml: azure-pipelines-pr.yml

Example of changing files, will trigger build:

Changing Run PullRequest(Lib) Run PullRequest(Core) Run PullRequest(Console)
Lib files ✔️
Core files ✔️
Console files ✔️
Lib & Core files ✔️ ✔️
Core & Console files ✔️ ✔️
Lib & Core & Console files ✔️ ✔️ ✔️

This dupplicate build is happened by path trigger priority between include and exclude.

PullRequest pipeline will trigger build:

Changing Build Lib Build Core Build Console Test Lib Test core Test Console
Lib files ✔️ ✔️ ✔️
Core files ✔️ ✔️ ✔️ ✔️
Console files ✔️ ✔️ ✔️ ✔️
Lib & Core files ✔️ ✔️ ✔️ ✔️ ✔️
Core & Console files ✔️ ✔️ ✔️ ✔️ ✔️
Lib & Core & Console files ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
You can’t perform that action at this time.