Can I have multiple build pipelines for the same repository?

Yes, you can use path filters in your trigger

Edit your build and go to the Triggers tab. Here you can add or remove branches, and also add path filters.

You have the option to either explicitly include or exclude paths. In the image below you can see that I'm explicitly excluding the "docs" folder from the master branch.

Build Triggers


In addition to James Reed's answer, if you prefer using the .yml files, what I would recommend is to create multiple .yml definitions, one for each pipeline.

Here's what one would look like:

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

For building, you'd need to specify which solution to build. For a (.net core) example:

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