Showing posts with label azure devops. Show all posts
Showing posts with label azure devops. Show all posts

Sunday, July 26, 2026

Compare Commits Easily in Azure DevOps with the New UI Feature

Troubleshooting software bugs often involves comparing commits to identify the changes introduced between two points in the project's history. This is one of the most common techniques used by developers to investigate regressions, validate fixes, and understand the impact of code changes.

Azure DevOps now provides a built in UI to compare commits, eliminating the need to manually construct comparison URLs. In this blog post, we'll explore how to use this feature to compare commits and review the differences between them.

Prerequisites

  • An Azure DevOps repository
  • Multiple branches or commits available for comparison

Tuesday, June 30, 2026

Easily Navigate Large Azure DevOps Pipelines

When an Azure DevOps pipeline contains hundreds of stages, navigating the pipeline UI can become challenging for several reasons.

  • * Finding a specific stage among hundreds can be difficult.
  • * Extensive horizontal and vertical scrolling is often required.
  • * Failed stages are harder to identify in a large pipeline.
  • * Navigation more difficult for users.

To address these challenges, Azure DevOps has introduced a new feature that makes navigating large pipelines much easier.

Prerequisites:

An Azure DevOps pipeline with multiple stages.

Thursday, February 12, 2026

Troubleshooting MSBuild Assembly Issues When Migrating Azure DevOps Pipelines from Windows-2019 to Windows-2022

A team encountered a failure in our Azure DevOps build pipeline when using the Microsoft-hosted agent windows-2019. The pipeline suddenly started failing with errors indicating that the configuration was no longer supported. This happens because Microsoft has deprecated the windows-2019 hosted agents, making them unavailable for new builds. 

Friday, October 31, 2025

How to Convert StringList Parameters to PowerShell Arrays in Azure DevOps YAML Pipelines

Azure DevOps YAML pipelines provide a well-established, code-based approach to defining CI/CD workflows as code. When working with YAML pipelines, various types of parameters can be used to pass input values into the pipeline. These parameters can be referenced in later stages for multiple purposes, such as structuring the pipeline, adding conditions, or controlling task behavior.

In this blog, we’ll learn how to use StringList parameters in a PowerShell task within a YAML pipeline.

Pre-requites: Experience with Azure DevOps YAML pipelines

Wednesday, July 30, 2025

Automate PagerDuty Maintenance Windows with Azure DevOps

Reliable notifications, scheduled escalations, and effective on-call management are essential for operations teams to quickly identify and address issues. PagerDuty is a platform that provides all of these capabilities, enabling teams to maintain high reliability and reduce operational noise.When working with any operations platform, reliability is key to avoiding unnecessary alerts or actions. For example, during a scheduled system update, creating a maintenance window in PagerDuty can prevent false alarms triggered by expected changes.

In this blog, we'll discuss how to create a PagerDuty maintenance window using an Azure DevOps pipeline. By adding this step to your deployment process, you can automatically start a maintenance window during system updates, improving alert accuracy and reducing manual overhead.

Sunday, June 22, 2025

Exploring the Full YAML Pipeline View in Azure DevOps

Azure DevOps YAML pipelines can be created using reusable YAML templates that help define parts of the pipeline as modules. By using templates, we can create shorter YAML pipelines and avoid duplication. However, debugging a YAML pipeline with templates is not easy, as we are unable to view the full, expanded pipeline easily. Azure DevOps now supports a new feature that allows us to see the full YAML pipeline of a pipeline run. In this blog post we are going to learn how to navigate to the full YAML pipeline view of the YAML pipeline that uses templates.

Pre-requisites:

  • Azure DevOps YAML pipeline that uses templates

Sunday, June 15, 2025

Resolve Azure DevOps Build Pipeline Warning, "The windows-2019 runner image is being deprecated, consider switching to windows-2022 (windows-latest) or windows-2025 instead"

The Windows-2019 runner image in Azure DevOps is being deprecated, and pipelines using the Windows-2019 hosted agent display a warning recommending a switch to a newer hosted agent. However, after changing the agent, build pipelines may break due to dependency and environment differences. This blog explains a NuGet restore failure that occurred after switching to Windows-2022 and provides a solution for it.

Warning: The windows-2019 runner image is being deprecated, consider switching to windows-2022 (windows-latest) or windows-2025 instead

Saturday, December 28, 2024

Understanding Repository Health and Usage in Azure DevOps

Maintaining optimal repository health is crucial factor to ensure performance and reliability. Azure DevOps Health and usage provides several helpful factors like repository size, object numbers, commit frequency, contents, and structure that can be usable to ensure performance and reliability.

Azure DevOps Repository Health and usage give values for the followings.

Friday, December 20, 2024

Working with Unskippable Stages in Azure DevOps

Azure DevOps pipelines have several stages, and we can use these stages to fulfill various specific automation requirements. However, there can be stages that should not be skipped during the deployment process for any reason. For example, some organizations may have a policy that it is mandatory to run automated tests before deployment, or it is mandatory to run a security scan stage. By default, Azure DevOps allows its users to skip stages when initiating a new pipeline run. Now, Azure DevOps has introduced a new property that can be used with YAML pipelines to disable the option to skip stages during the pipeline creation.

Pre-requisites:

Azure DevOps YAML pipeline with multiple stages

Wednesday, November 20, 2024

Using Azure DevOps UI to Enable Detailed Pipeline Logs

In Azure DevOps YAML pipelines, detailed logs can be enabled by setting the system.debug value to true. This enables verbose logging, providing additional details in the logs, such as task inputs/outputs, agent setup details, and more descriptive error messages.

Further, Azure DevOps provides a UI feature to enable detailed logs before running a pipeline. To enable detailed logging, follow these steps.

Wednesday, October 9, 2024

Optimizing CI/CD Pipelines by Looping Jobs with Dependencies in YAML

This blog explains how to create multiple jobs using an array and define a final job that depends on the previous loop jobs.

The following is the first YAML template file ( deploystage.yaml) with stages. Under the jobs section, it includes two templates. The first template is called within a loop, creating multiple jobs. 

Wednesday, September 11, 2024

Enabling Manual Triggers for Azure DevOps Pipeline Stages

Azure DevOps pipeline stages now support manual triggers, allowing for more flexibility. There are situations where some stages of a pipeline should run automatically, while others may require manual intervention. This blog explains how to configure a manual trigger for Azure DevOps pipeline stages.

Pre-requisites: Azure DevOps YAML Pipeline

To enable a manual trigger for a specific stage, include the trigger: manual option in the pipeline's YAML definition. Below is an example pipeline demonstrating how to configure a manual trigger for a stage.

Wednesday, April 17, 2024

Utilize Deployment Group Job in YAML Pipeline

Azure DevOps deployment pipelines offer three types of jobs: agent job, deployment group job, and agentless job. However, YAML pipelines require an alternative approach as they lack direct support for deployment group jobs. Virtual machine resources in environments are utilized to achieve similar functionality as deployment groups, and this blog explains how to do it.

Prerequisites:

  • Azure DevOps environment provisioned with virtual machine resources.
  • Fundamental understanding of pipeline configuration

As a prerequisite, an environment called Test-dev has been provisioned and a virtual machine has been added to it.

Saturday, February 3, 2024

Share Dynamic Variables Between Azure DevOps Jobs

Azure DevOps pipelines can be defined with multiple jobs based on the final result to be achieved and specific requirements. There may arise situations where variable values need to be dynamically generated within one pipeline job and utilized in another subsequent job. This blog explains the process of achieving such functionality.

Prerequisites: Azure DevOps account

Wednesday, December 20, 2023

Restoring a Deleted Branch in Azure DevOps

Following a branching strategy is useful to ensure smooth version control and deployments. Based on the nature of the project and other operational considerations, organizations define several branches in their version control systems. However, what if you accidentally deleted an important branch from the version control system? This blog explains how to recover a deleted branch in Azure DevOps

Prerequisites: Azure DevOps project with multiple branches. In this blog, I will use main branch and two branches named releases/1.0.0 and releases/1.0.1

Friday, December 15, 2023

Deploy Azure Container App with Azure CLI

This blog explains how to setup an Azure DevOps release pipeline to deploy a container app to the Azure Container Environment using an Azure CLI script.

Pre-requisites: 

  • Azure DevOps deployment pipeline
  •  Azure container app environment 
  • Azure Container registry

Add an Azure CLI task to the Azure DevOps pipeline and add following script. The script installs a few required extensions and create a container app.

Sunday, June 25, 2023

Resolve Azure DevOps Pipeline Failure "Cannot open server requested by the login. Client with IP address is not allowed to access the server."

This blog explains how to resolve Azure DevOps pipeline failure when running dotnet ef migration update command. 

Cannot open server 'demo-sql' requested by the login. Client with IP address 'xxx.xxx.xxx.xxx' is not allowed to access the server.  To enable access, use the Windows Azure Management Portal or run sp_set_firewall_rule on the master database to create a firewall rule for this IP address or address range.  It may take up to five minutes for this change to take effect.

Monday, April 3, 2023

Resolve Pipeline Execution User Lacks Permission Error in Azure DevOps Release Pipeline

In Azure DevOps you might have encountered the situations where pipelines failing with error message mentioning the user with a given GUID does not have permission to run the pipeline or access Azure DevOps artifacts. Solution is giving the right permission to the user. This blog explains how to find the right user who need the permission.

Copy the GUID of the user from Azure DevOps pipeline logs.