AZ-400: Designing and Implementing Microsoft DevOps Solutions

Design and Implement Pipelines

Exploring Classic Pipelines

In this lesson, we’ll dive into Azure DevOps Classic Pipelines, a GUI-driven approach to building and releasing your applications. If you prefer a visual editor over hand-crafting YAML files, Classic Pipelines deliver an intuitive drag-and-drop experience for designing CI/CD workflows.

The image is a diagram introducing classic pipelines, showing a connection between Azure DevOps and a CI/CD pipeline, highlighting a user-friendly graphical user interface (GUI).

By the end of this guide, you’ll understand:

  • Key features and benefits of Classic Pipelines
  • Step-by-step creation of a pipeline
  • How to decide between Classic and YAML models
  • Best practices for maintaining a robust CI/CD process

Why Choose Classic Pipelines?

Classic Pipelines excel at lowering the barrier to entry for continuous integration and delivery:

  • Visual Configuration
    Configure build and release tasks in a wizard-style editor.
  • Rapid Setup
    Leverage prebuilt templates for .NET, Java, Docker, and more.
  • Seamless Azure Integration
    Connect to Azure services like App Service, AKS, and Key Vault with a few clicks.

Note

Classic Pipelines are perfect for teams that need a fast, low-code approach. For long-term maintainability, consider storing pipeline definitions in source control via YAML.

The image shows a screenshot of a classic pipeline interface for web app release, highlighting tasks like IIS deployment and PowerShell scripts. It also lists benefits such as ease of use, visual configuration, and integration with Azure services.

Step 1: Selecting Your Source Repository

  1. Open your Azure DevOps project and navigate to Pipelines > Releases (or Builds).
  2. Click New pipeline and choose Classic Editor.
  3. Select your source: Azure Repos Git, GitHub, Bitbucket, or other supported repositories.

The image is a guide for creating a classic pipeline, showing step 1: selecting a source, with options like Azure Repos Git and GitHub. It includes dropdowns for team project, repository, and default branch selection.

Step 2: Picking a Template

Azure DevOps ships with starter templates to kick-start your pipeline:

  • .NET Desktop
  • Android
  • Docker Container
  • Node.js

Select the template that best matches your tech stack—you can always customize tasks later.

The image shows a guide for creating a classic pipeline with steps listed on the left and a template selection interface on the right, featuring options like .NET Desktop, Android, and Docker container.

Step 3: Configuring Tasks and Environments

Drag and drop tasks to define your build and release process:

  • Compile or build artifacts
  • Run unit/integration tests
  • Package outputs (ZIP, WAR, Docker image)
  • Deploy to environments (Dev, QA, Production)

The image shows a guide for creating a classic pipeline with four steps, highlighting "Step 03: Configuring the Pipeline," alongside a screenshot of a pipeline configuration interface.

Step 4: Defining Triggers

Set triggers to automate your pipeline runs:

  • CI Trigger: Automatically start the build on each commit.
  • Scheduled Trigger: Run nightly or at specific intervals.
  • Manual Release: Deploy on demand to any environment.

Classic vs. YAML Pipelines

Azure DevOps offers two pipeline models—choose the one that aligns with your team’s workflow:

FeatureClassic PipelinesYAML Pipelines
DefinitionGUI-driven visual editorCode-defined in a YAML file
Version ControlConfiguration stored in the portalPipeline as code stored alongside your app
FlexibilityQuick setup with standard templatesFull control over branching and reuse
Best forTeams new to CI/CD, non-technical usersComplex workflows, infrastructure as code

Warning

Classic Pipelines offer ease of use, but for advanced scenarios and full traceability, YAML pipelines provide better versioning, branching, and reuse across projects.

The image illustrates the transition from Classic to YAML pipelines, highlighting better control and scalability, and includes steps like understanding YAML syntax and converting existing pipelines.

Best Practices for Classic Pipelines

  • Modular Design
    Group related tasks into task groups or reusable templates.
  • Regular Updates & Testing
    Keep tasks and agents up to date to leverage security patches and new features.
  • Security & Compliance
    Audit pipeline permissions, enforce branch policies, and scan for vulnerabilities.

The image outlines best practices for using classic pipelines, highlighting "Modular design" and "Regular updates and testing" with corresponding icons.

Watch Video

Watch video content

Previous
Pipeline triggers