Azure DevOps Features and Capabilities Overview

Author

Reads 925

Men Working on a Computer
Credit: pexels.com, Men Working on a Computer

Azure DevOps is a powerful platform that streamlines software development, delivery, and operations. It provides a comprehensive set of tools and services to help teams collaborate, automate, and improve the quality of their software.

Azure DevOps offers a range of features, including version control with Git, agile project planning, and continuous integration and delivery. This allows teams to work efficiently and effectively, from planning to deployment.

One of the key benefits of Azure DevOps is its scalability, allowing teams of all sizes to use its services.

Azure DevOps Features

Azure DevOps features are constantly evolving to meet the needs of developers and teams. YAML pipelines have parity with classic pipelines in terms of security features, such as control over protected resources and scoped job access tokens.

One of the main features of Azure DevOps is its support for YAML pipelines, which offer more security and control compared to classic pipelines. YAML pipelines are recommended over classic pipelines due to their improved security features.

Credit: youtube.com, Azure DevOps - EPICS vs FEATURES vs USER STORIES vs Tasks vs Bugs

Azure DevOps services have three main features, but we'll focus on the key updates and features in the pipeline area. Here are some key pipeline features and their scheduled release dates:

assistant

As an Azure DevOps user, you'll love the new features coming your way. One of the most exciting updates is the full web support for Conditional Access Policies in 2024 Q4.

You'll be able to connect GitHub repositories using the REST API in Boards, a feature that's also rolling out in 2024 Q4.

The Boards Hub will be on by default, making it easier to navigate and manage your boards.

Cut and paste of images into work item comments will be improved in 2024 Q4, saving you time and effort.

Deleted tags will be removed from the suggested list on the work item form, keeping your workspace organized.

Support for GitHub Enterprise Cloud with data residency is coming to Boards and Pipelines in 2024 Q4.

Credit: youtube.com, Azure DevOps Tutorial for Beginners | CI/CD with Azure Pipelines

Stage-level concurrency will be available in Pipelines, allowing for more efficient and scalable workflows.

TFVC will be removed from new projects in Repos, making way for more modern and efficient version control.

Here are some of the key features and their corresponding release dates:

These are just a few of the many exciting features coming to Azure DevOps in the next year.

Three Main Features

Azure DevOps has three main features that set it apart from other development platforms. These features make it a go-to choice for many developers and teams.

The first main feature is its famous Azure DevOps components, which include Azure Boards, Azure Repos, and Azure Pipelines. These components provide a comprehensive set of tools for managing and automating the software development process.

Azure DevOps also offers a robust project management system, which is a key feature of the platform. This system allows teams to plan, track, and manage their work in a single, integrated environment.

The three main features of Azure DevOps are designed to work together seamlessly, providing a holistic approach to software development and deployment.

Introduction

Credit: youtube.com, Introduction to Azure DevOps

Azure DevOps is a powerful tool for software development and delivery, and it's constantly evolving to meet the needs of its users. In this article, we'll take a look at some of the exciting features that are coming to Azure DevOps in the near future.

One of the areas that Azure DevOps is focusing on is YAML pipelines. For the past year, the team has been working to address the gaps in feature parity between YAML and classic release management pipelines. This includes improvements to checks, which are a crucial mechanism for gating the promotion of builds from one stage to another.

Azure DevOps is also investing in user experiences, traceability, and environments. This means that users can expect to see improvements in the way they interact with the platform, as well as better visibility and control over their workflows.

Here are some of the specific features that are planned for YAML pipelines:

Azure DevOps is also planning to bring more features to Azure DevOps Services, including full web support for Conditional Access Policies in 2024 Q4, and a new Boards Hub on by default. These are just a few examples of the many exciting features that are planned for Azure DevOps in the near future.

Collaboration and Security

Credit: youtube.com, Azure DevOps Tutorial for Beginners | CI/CD with Azure Pipelines

Collaboration and Security are two essential aspects of Azure DevOps. Azure DevOps enhances team collaboration through team dashboards, project wikis, work item discussions, and more. These collaboration services are integral to maintaining a cohesive and informed team.

Azure DevOps also offers collaboration services that support different functions and areas involving team dashboards, project wikis, discussions and meetings within work essential items forms, and more. Team dashboards provide real-time visibility into project metrics and progress.

To minimize the risks associated with credential theft, Azure DevOps supports many different authentication mechanisms, including basic authentication, personal access tokens (PATs), SSH, and Microsoft Entra ID. To minimize the risks of credential theft, Azure DevOps will focus efforts in the following areas:

  • Enable administrators to improve authentication security through control plane policies.
  • Reducing the need for PATs and other stealable secrets by adding support for more secure alternatives.
  • Deepening Azure DevOps' integration with Microsoft Entra ID to better support its various security features.
  • Avoiding the need to store production secrets in Azure Pipelines service connections.

Collaboration

Collaboration is a vital aspect of any project, and Azure DevOps offers a range of services to facilitate team collaboration.

Team dashboards provide real-time visibility into project metrics and progress, making it easier for team members to stay informed and on track.

Credit: youtube.com, What is secure collaboration in modern business?

You can create and customize dashboards to suit your team's needs, ensuring everyone has access to the information they need to succeed.

A project wiki is a centralized location where you can document project details, guidelines, and knowledge base, making it easy for team members to find the information they need.

Work item discussions allow team members to have contextual and timely conversations directly within work item forms, reducing the need for email or separate communication tools.

Traceability links help you establish connections between work items, commits, pull requests, and more, ensuring comprehensive traceability across your project.

Alerts and notifications can be set up to keep team members informed about project updates and changes, ensuring everyone is on the same page.

Here are some of the key collaboration services offered by Azure DevOps:

  • Team dashboards
  • Project wiki
  • Work item discussions
  • Traceability links
  • Alerts and notifications
  • Feedback management
  • Analytics and Reporting

These collaboration services are essential for maintaining a cohesive and informed team, capable of responding swiftly to project demands and opportunities.

GitHub Advanced Security

Credit: youtube.com, GitHub Advanced Security: Helping Developers Secure the World’s Software • Karl Krukow • GOTO 2023

GitHub Advanced Security is now generally available for Azure DevOps, allowing project collection administrators to enable Advanced Security for their organization, projects, and repos.

You can configure GitHub Advanced Security for Azure DevOps from the Project Settings or Organization Settings.

New capabilities are expected to be delivered, including displaying contextual comments to pull requests containing newly introduced Advanced Security findings, determining detected partner secrets validity, and automatically fixing detected dependency scanning vulnerabilities with Dependabot security updates.

Here are the new capabilities and their expected delivery quarters:

These features aim to enhance the security of your Azure DevOps projects and provide a more robust way to manage and protect your code.

Manage Users and Groups

To manage users and groups in Azure DevOps, you first need to connect it with Azure AD. This allows you to search and add users, assigning correct permissions along the way.

As a user with administrative permissions in Azure DevOps, log in and move to your Azure DevOps Organization. Open organization settings and look for the “Users” sub-menu.

Credit: youtube.com, How to Manage Users and Groups in Windows // LEARN NOW!

You can add users by searching from Azure Active Directory, which is connected to Azure DevOps. To add external users, Azure AD Admin must first send invites to register their emails as Microsoft accounts and get them added as guest users.

Once you've added users, you can map them to correct projects and permissions. This helps in better control and added to project level security where only relevant users have access to projects.

You can also add group users, which can be more manageable compared to adding users individually. This can be done by mapping multiple users to the group.

To add users at an organization level, follow these steps:

  • Log in as a user with administrative permissions in Azure DevOps.
  • Move to your Azure DevOps Organization.
  • Open organization settings and look for the “Users” sub-menu.
  • Open the dialog and search for users in Azure Active Directory.
  • Add external users by sending invites to register their emails as Microsoft accounts and get them added as guest users.
  • Map users to correct projects and permissions.

Note: Users will only be able to login to Azure DevOps if they are registered with Azure AD tenant.

Cloud and Administrative

Azure DevOps offers a range of cloud and administrative features that make it easy to manage your development environment. You can perform most administrative tasks through the Azure DevOps web portal, giving you control at your fingertips.

Credit: youtube.com, What does an Azure Administrator do? Aka Cloud Administrator

The web portal management feature allows for convenient access to settings, including user, team, project, and organization-level settings. This means you can manage your development environment with granular control.

Azure's cloud-hosted services provide comprehensive support for the entire application lifecycle, and can be integrated with Azure DevOps for a seamless workflow.

Cloud-Hosted

Azure offers a robust array of cloud-hosted services that are essential for the development and deployment of applications.

These services can be utilized independently or with Azure DevOps to create a seamless workflow. This means you can choose to use them on their own or integrate them with Azure DevOps for a more streamlined experience.

Comprehensive support is provided by Azure's services, covering the entire application lifecycle. This support includes infrastructure and platform support.

Integration with Azure DevOps is also a key benefit, allowing you to combine services with Azure DevOps for an integrated experience that covers source control, CI/CD, and more.

To explore the full range of services, features, and suites that integrate seamlessly with your development process, see the Azure products directory.

Administrative

Credit: youtube.com, Cloud System Administrator | Cloud Administrator Roles & Responsibilities | Cloud Administrator Job

Managing your collaborative software development environment is streamlined with Azure DevOps, which offers various features and tasks tailored for administration.

You can perform most administrative tasks conveniently through the Azure DevOps web portal, ensuring you have control at your fingertips.

The web portal management feature allows for easy access to administrative tasks, making it a convenient option for managing your development environment.

Comprehensive settings are also available, allowing for granular management of your development environment by accessing detailed settings for users, teams, projects, and organizations.

Here are the key features of accessible administration in Azure DevOps:

  • Web portal management: Perform most administrative tasks conveniently through the Azure DevOps web portal.
  • Comprehensive settings: Access detailed settings for users, teams, projects, and organizations.

For a deeper understanding of the administrative capabilities available to you, including how to configure and manage various levels of settings, see About user, team, project, and organization-level settings.

Server

Azure DevOps Server is a powerful tool for managing your development environment. It's a cloud-hosted service that integrates seamlessly with Azure DevOps.

You can expect new features to be added regularly, with a focus on improving the user experience. For example, Automated team work item rules are scheduled to be released in 2025 H1, which will help streamline team workflows.

Credit: youtube.com, Cloud System Administrator | Cloud Administrator Roles & Responsibilities | Cloud Administrator Job

Azure DevOps Server offers a range of features, including Boards, Pipelines, Test Plans, and Repos. Each of these areas has its own set of features and improvements planned for the future.

Here are some of the key features and improvements planned for Azure DevOps Server:

These are just a few examples of the many features and improvements planned for Azure DevOps Server. By staying up-to-date with the latest developments, you can ensure that your development environment is running smoothly and efficiently.

Connecting with Active Directory

To connect Azure DevOps with Azure Active Directory, you need to create an Azure DevOps organization first. This organization acts as a parent entity representing your actual physical organization in Azure.

In an enterprise setting, it's essential to add users, groups, and permissions at the DevOps organization level, which will apply globally to all projects created under this organization.

To get these users and groups, you'll need to connect your Azure DevOps organization with Azure Active Directory. This is because enterprises maintain their employee base, groups, domains, systems, and applications in a directory service, such as Active Directory Domain Services for on-premise systems or Azure Active Directory (AAD) for Azure cloud environment.

Credit: youtube.com, Learn Microsoft Azure Active Directory in Just 30 Mins (May 2023)

Azure DevOps doesn't provide an option to connect to on-premise AD, so you'll need an Azure AD tenant in place to sync on-premise AD with Azure AD before connecting Azure DevOps with Azure AD.

To connect Azure DevOps with Azure AD, follow these steps:

  • Login to Azure DevOps as a user with administrative permissions in Azure AD and Azure DevOps.
  • Move to your Azure DevOps Organization and open organization settings.
  • Click on "Azure Active Directory" and select the directory to connect.

Controlling Task Execution in the Build Pipeline

Controlling task execution in the build pipeline is crucial for DevOps teams. By defining conditions in the pipeline, teams can control the sequence of tasks and their flow of execution.

Conditions can be used to skip or execute tasks based on their outcome, which can be either true or false. This is controlled by evaluating built-in Microsoft-defined variables or custom variables defined in Variable Groups or within the pipeline itself.

In Azure DevOps, you can use conditions to control the execution of tasks in the build pipeline. For example, you can use the SonarCloud task, which will run only when the previous task has succeeded, the build reason is a Pull Request, and the pull request-target is for the merge in the main master branch.

Credit: youtube.com, CI CD Pipeline Explained in 2 minutes With Animation!

You can also use the Build.Reason variable to control task execution, which can be set to the value of Schedule. This can be useful in scenarios where you want to run security scans every weekend and not on a daily basis to reduce build time.

Here's an example of how you can use conditions to control task execution:

By using conditions and variables, DevOps teams can gain full control over the sequence of tasks in the build pipeline, allowing them to automate and streamline their workflows.

Integration and Features

Azure DevOps offers seamless integration with GitHub, allowing you to link GitHub commits or pull requests directly to work items.

You can also show more details about a GitHub pull request, improving traceability and collaboration.

The integration is set to improve further, with features like creating a branch on a GitHub repository from a work item and supporting GitHub Enterprise Cloud with data residency.

Credit: youtube.com, Jama Connect® Features in Five: Azure DevOps Integration

Azure DevOps has three main features: Boards, Pipelines, and Repos. Boards is a planning and tracking tool, Pipelines is a continuous integration and delivery tool, and Repos is a version control tool.

Here are some key features of Azure DevOps:

Azure DevOps also offers service hooks, which empower you to automate and streamline interactions with other services, responding swiftly to events within your projects. You can utilize service hooks in various ways, including custom apps integration and service targets.

Dashboards

Dashboards are a powerful tool in Azure DevOps that allow you to create a personalized view of your project's data and workflows.

You can add, configure, and manage multiple dashboards to reflect different aspects of your project, and customize each one by adding and arranging various widgets that display project data in real-time.

To enhance your dashboards, you can choose from a wide range of widgets to display information such as build status, test results, and work item queries.

Credit: youtube.com, Camera Integration Feature Dashboards

Dashboards can also serve as a central hub for navigating to various areas of your project, allowing you to set up links and shortcuts that enable quick access to important sections of Azure DevOps.

By using extensibility points, you can further customize your dashboards by integrating non-Microsoft services or creating your own extensions.

Here are the key benefits of using dashboards in Azure DevOps:

  • Add, configure, and manage multiple dashboards
  • Customize each dashboard with various widgets
  • Use dashboards as a central hub for navigation
  • Use extensibility points to further customize dashboards

Tfvc

TFVC is a centralized version control system that simplifies code management by allowing developers to work with a single version of each file on their local machines.

This approach reduces complexity and ensures consistency across the team, as each developer's machine holds the current version of files.

The server retains the full history of changes, providing a single source of truth for the project's evolution.

This server-side history is securely stored on the server, preserving the integrity of the project's history and all historical data, including changes and versions.

TFVC also includes path-based branching, which allows for clear organization and straightforward merging processes.

Here are the key features of TFVC:

  • Single version workflow
  • Server-side history
  • Path-based branching

Service Hooks

Credit: youtube.com, 10. Service Hooks

Service hooks in Azure DevOps empower you to automate and streamline interactions with other services, responding swiftly to events within your projects. This can be a game-changer for teams that want to stay on top of their projects.

You can configure service hooks to send immediate push notifications to your team's devices if a build process encounters an error. For instance, if a build fails, your team will get a notification right away.

Custom apps integration is a great way to utilize service hooks. You can integrate service hooks with your custom applications to initiate actions automatically, enhancing efficiency and project responsiveness. This means you can create workflows that work for you, not against you.

Service targets are another way to use service hooks. You can designate various services as targets for your service hooks, allowing for a wide range of automated responses to project events. This flexibility is key to making the most of service hooks.

Credit: youtube.com, Azure DevOps - Connecting Azure DevOps using Service Hooks

Here are some ways to get the most out of service hooks:

  • Integrate service hooks with your custom applications to initiate actions automatically.
  • Designate various services as targets for your service hooks.

To find out more about the services that can be integrated with Azure DevOps via service hooks, and to explore other apps and services that complement Azure DevOps, check out the Visual Studio Marketplace.

Improved Boards + GitHub Integration

Azure Boards has been working on improving its integration with GitHub to provide customers with a more seamless experience. The integration has been in place for several years, but it's about to get a major boost.

One of the key features being added is the ability to link to a GitHub commit or pull request directly from a work item. This is set to arrive in 2024 Q1, making it easier to track changes and updates.

Another feature on the horizon is the ability to show more details about a GitHub pull request, also arriving in 2024 Q1. This will provide a more comprehensive view of the development process.

Credit: youtube.com, Integrate Azure Boards and GitHub NOW!

Azure Boards is also working on improving scalability when searching and linking GitHub repositories to an Azure DevOps project. This feature is expected to arrive in 2024 Q2.

Here's a breakdown of the upcoming features:

These updates will help Azure Boards customers who use GitHub repositories to maintain an equivalent level of traceability as those who use Azure DevOps repositories.

Yaml and Release Feature Parity

YAML and release pipelines have been a major focus for the past several years, with significant investments in YAML pipelines and security improvements. This has led to feature parity between YAML and classic pipelines, with YAML pipelines offering more control over protected resources and scoped job access tokens.

The adoption of YAML pipelines has been substantial for builds (CI), but many customers have continued to use classic release management pipelines for releases (CD) due to the lack of parity in CD features. This gap has been addressed over the past year, with notable improvements in Checks.

Credit: youtube.com, GitFlow Branching Workflow and Deploying using YAML pipeline

Here are some key features that have been added to YAML pipelines to bring them in line with classic pipelines:

These improvements will continue to bring YAML pipelines in line with classic pipelines, providing more features and functionality for users.

Connecting Third Party in Organization

Connecting third-party services in Azure DevOps is a breeze. You can integrate your projects with various third-party products to perform additional activities before a product is pushed to production.

To achieve this, you need to install the extension provided by these third parties in your Azure DevOps organization. These extensions are made available in the Visual Studio Marketplace.

Once the extension is installed, you can add a Service Connection under your individual DevOps Project settings. Most third-party products expose their functionality to Azure DevOps by providing their Azure DevOps Tasks in the Visual Studio Marketplace.

You can see the Extensions under Organization settings and the option to look for them. Azure DevOps only starts showing the Build/Release tasks for these products under Project Pipelines after the extension is installed.

Credit: youtube.com, What is 3rd Party Software Integration?

Here's a step-by-step guide to connecting to third-party products and services:

  • Install the extension provided by the third-party product in your Azure DevOps organization.
  • Go to your DevOps Project settings and click on Service Connections.
  • Search for the product you want to integrate and connect it.
  • Every product will have its own way to connect to Azure DevOps, and details are available with the Extension in Visual Studio Market place.

For example, to connect to SonarCloud, you need to add a Service Connection and provide a token to connect to Azure DevOps. The process to generate this token will be available in the SonarCloud extension page in the VS Marketplace.

CI/CD

CI/CD is a crucial aspect of software development, and Azure DevOps has made significant strides in this area. YAML pipelines offer feature parity with classic pipelines, and adoption has been significant for builds, but classic release management pipelines are still widely used due to a lack of parity in CD features.

YAML pipelines provide better control over protected resources, and job access tokens are scoped to specific repositories. This is just one example of the security features available in YAML pipelines.

Azure DevOps provides a powerful dashboard interface that allows you to create a personalized view of your project's data and workflows. You can add, configure, and manage dashboards, and even use extensibility points to further customize your dashboards.

Credit: youtube.com, DevOps CI/CD Explained in 100 Seconds

The new YAML-based approach for pipeline implementation provides much better control to DevOps teams, allowing them to manage pipelines as code in the version control system. This provides benefits such as maintaining pipeline version history, changes management, audit trail, and better reuse across projects and teams.

There are two approaches for using Azure pipelines: defining pipelines with YAML syntax and defining through a classic interface. Conditions can be used to control the execution of tasks in the build pipeline, and custom variables can be defined in Variable Groups or within the pipeline itself.

Here are some key features of Azure CI/CD pipelines:

Build Agent Capabilities can be checked by going to Project Settings and selecting a Pool and a specific agent, where you can see the Capabilities tab. This allows you to set different capabilities for individual build agents and control the pipeline runs.

Things Already Covered

As we dive into the world of Azure DevOps, it's essential to understand what features and integrations are already covered. Let's take a look at some of the key aspects.

Credit: youtube.com, Integrate Your CI/CD Pipelines with Jira Software Cloud for Continuous Visibility

Azure DevOps projects inherit users and their permissions from DevOps organization settings, making it easy to manage access and permissions at the project level.

Users can be mapped to project-level groups based on their permissions, and groups can be added or customized to control permissions and security requirements. This is particularly useful for creating controlled administrator groups with specific permissions.

Automatically adding reviewers for code reviews is also a feature that can be enabled, sending notifications to team members and improving control and proactive notifications.

Repositories are made secure by controlling access levels for users and groups, with permissions that can be narrowed down to individual tasks such as branch creation, pull requests, and code commit.

Branch policies can be enabled to ensure quality checks on source code, including review of code with a minimum number of reviewers and build validation rules to ensure code commit only after a successful build.

Here's a quick rundown of the key features already covered:

Creating Cross-Project Reference YAML

Credit: youtube.com, Kubernetes YAML File Explained - Deployment and Service | Kubernetes Tutorial 19

Creating Cross-Project Reference YAML allows you to store common reusable stages/jobs/tasks as YAML templates in a separate project, which can be maintained by a central team and reused across projects.

This approach has the advantage of isolating common templates, maintaining a common standard across teams, and better reuse across projects in Azure DevOps Organization.

To create a cross-project reference YAML pipeline, you need to create two separate DevOps projects: one containing the repository with only common templates, and the other containing the actual project with repository and build pipelines.

The project with the common templates, named InnerSource, should contain only the templates, following the Azure DevOps YAML standard to create the templates.

A separate actual project, named WebApplicationProject, should have a repository with source code, and you can ignore the .yml files present here as they are not being used.

You can create a YAML pipeline under the actual project and call the InnerSource project's .yml files to add the necessary stages/jobs/tasks, which can contain common tasks such as .Net Core Application Build – Test – Release grouped together, or calling some third party service like SonarCloud or Fortify scan.

Credit: youtube.com, Creating Our First YAML Pipeline

Here are some examples of common tasks that can be included in the cross-project reference YAML pipeline:

  • .Net Core Application Build – Test – Release grouped together.
  • Calling some third party service like SonarCloud or Fortify scan.
  • Performing a common task like updating build number using some custom behavior.
  • Pushing build information to another integrated Release Management system.
  • Generating Release Notes using a common template etc.

You can define the resources on which this pipeline is dependent, which in this case is the InnerSource repository, and then call the azure-pipeline.yml template available in the InnerSource project repository.

Frequently Asked Questions

What are the 5 components of Azure DevOps?

Azure DevOps consists of five main components: Azure Boards for work tracking, Azure Repos for version control, Azure Pipelines for CI/CD, Azure Test Plans for testing, and Azure Artifacts for package management. These components work together to streamline software development and delivery processes.

Calvin Connelly

Senior Writer

Calvin Connelly is a seasoned writer with a passion for crafting engaging content on a wide range of topics. With a keen eye for detail and a knack for storytelling, Calvin has established himself as a versatile and reliable voice in the world of writing. In addition to his general writing expertise, Calvin has developed a particular interest in covering important and timely subjects that impact society.

Love What You Read? Stay Updated!

Join our community for insights, tips, and more.