S.Leu
S.Leu

Reputation: 20

How to Simplify a Complex Azure DevOps Release Pipeline with 11 Environments and Unique Task

I’m currently working on a monolithic application using Azure DevOps Release Pipelines (classic UI, not YAML). The application needs to be deployed to 11 production environments, and each environment requires its own unique set of tasks to ensure an update with zero downtime.

The problem I’m facing is that:

I want a cleaner way to structure this release pipeline to achieve the following:

What I’ve Tried:

Is there a better way to simplify this classic Azure DevOps release pipeline? I need something that:

There must be a way to do this or are release pipelines not tailored to a monolithic applications need through 1 stage? Am i restricted to just using YAML?

Thanks in advance!

Upvotes: 0

Views: 86

Answers (1)

Rui Jarimba
Rui Jarimba

Reputation: 18084

This is probably not the answer you are expecting to hear, but how will a gigantic pipeline or stage solve the problems you're facing? Your first (and probably most important) goal should be reducing complexity, not the number of pipelines, stages and/or jobs.

In the short/medium-term consider:

  1. Creating task groups for each set of tasks in order to reuse functionality across pipelines/stages/jobs

  2. Creating a pipeline for each environment in order to reduce complexity and be able to manage each environment independently

  3. Organizing stages and jobs logically according to functionality and considering which ones can (or should) run together, in case of failure or not

These 3 steps should help you solve most of your problems.

The long-term strategy is to use YAML pipelines and reusable templates to manage your pipeline(s).

Upvotes: 1

Related Questions