Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Deployment Groups and Environments in Azure DevOps Services\Server

In Azure Pipelines, we have Deployment Groups & Environments as separate options but are they both not suppose to add a list of server belonging to an environment as a group. Clarification on this would be highly appreciated.

like image 848
Sam Avatar asked Jan 15 '20 17:01

Sam


People also ask

What are deployment groups in Azure DevOps?

A deployment group is a collection of machines with deployment agents. Each of the machines interacts with Azure Pipelines to coordinate the deployment of the app. Since there is no configuration change required for the build pipeline, the build is triggered automatically after the project is provisioned.

WHAT IS environments in Azure DevOps?

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020. An environment is a collection of resources that you can target with deployments from a pipeline. Typical examples of environment names are Dev, Test, QA, Staging, and Production. Environments provide the following benefits. Benefit.

What are different environments in DevOps?

We'll give an example consisting of three environments: development, staging, and production. This is a standard setup that we strongly recommend.

What are deployment groups used for?

Deployment groups in Informatica are used as containers that allow smart grouping of objects to facilitate the deployment between different folders, repositories, and environments. Deployment Groups consists of two different types such as Static and Dynamic.


2 Answers

Difference between Deployment Groups and Environments in Azure DevOps Services\Server

In simple terms, deployment groups is that:

A deployment group is a logical set of deployment target machines that have agents installed on each one. Deployment groups represent the physical environments; for example, "Dev", "Test", "UAT", and "Production". In effect, a deployment group is just another grouping of agents, much like an agent pool.

And environment is that:

Environment represents a collection of resources such as namespaces within Kubernetes clusters, Azure Web Apps, virtual machines, databases, which can be targeted by deployments from a pipeline.

Personal Opinion:

They both have the same theory in actual deployment. But, since Deployment group jobs are not yet supported in YAML. In this case, the Environments comes up. As you can get following state from the document:

While environment at its core is a grouping of resources, the resources themselves represent actual deployment targets. The Kubernetes resource and virtual machine resource types are currently supported.

Besides, the environment has a series of advantages:

  • Deployment history
  • Traceability of commits and work items
  • Diagnose resource health
  • Permissions

Hope this helps.

like image 161
Leo Liu-MSFT Avatar answered Oct 23 '22 17:10

Leo Liu-MSFT


A deployment group is basically a set of deployment target machines or physical environments, which are machines in which an agent is installed.

Environments are a group of resources like Azure Web Apps, virtual machines, databases etc.. which targets a deployment

both can have different groups for Dev, Test, UAT, and Production

like image 41
ASHMIL Avatar answered Oct 23 '22 17:10

ASHMIL