Back to all reviewers

Centralize pipeline configurations

Azure/azure-sdk-for-net
Based on 3 comments
Yaml

Use centralized templates and variables for pipeline configurations instead of duplicating or hardcoding values. This improves maintainability, ensures consistency, and makes platform-specific adaptations easier to manage.

CI/CD Yaml

Reviewer Prompt

Use centralized templates and variables for pipeline configurations instead of duplicating or hardcoding values. This improves maintainability, ensures consistency, and makes platform-specific adaptations easier to manage.

Key practices:

  1. Reference existing templates from /eng/pipelines/templates/ instead of creating duplicates
  2. Include the image variables template /eng/pipelines/templates/variables/image.yml in pipelines that reference VM images
  3. Use pool variables (LINUXPOOL, WINDOWSPOOL, MACPOOL) for pool names
  4. Use demand-based configuration for Windows/Linux and vmImage pattern for Mac

Example:

# Good practice
variables:
  - template: /eng/pipelines/templates/variables/image.yml

jobs:
  - job: BuildAndTest
    pool:
      name: $(WINDOWSPOOL)
      demands: $(WindowsImageDemand)

Instead of:

# Avoid this approach
jobs:
  - job: BuildAndTest
    pool:
      name: azsdk-pool-mms-win-2022-general
      vmImage: windows-2022

This approach makes it easier to update image configurations across all pipelines and supports platform-specific configuration patterns.

3
Comments Analyzed
Yaml
Primary Language
CI/CD
Category

Source Discussions