Sam
Sam

Reputation: 309

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.

Upvotes: 28

Views: 12646

Answers (4)

Justin
Justin

Reputation: 1503

Each environment creates an implicit deployment group Environment-{EnvironmentID}-{Guid}.

Unfortunately from the environment UI you cannot see the status of the resources which is extremely annoying, you also cannot see the tags without click on each resource and choosing manage tags. The UI for environments is extremely basic.

Upvotes: 0

PAVITHRA R
PAVITHRA R

Reputation: 11

Both helps us to connect with deployment target server. Deployment group is for classic pipeline and Environments is for YAML pipeline.

Upvotes: 1

Leo Liu
Leo Liu

Reputation: 76760

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.

Upvotes: 22

ASHMIL
ASHMIL

Reputation: 551

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

Upvotes: 2

Related Questions