Deployment groups provide robust out-of-the-box multi-machine deployment with team services release management. It allows you to run deployments across multiple machines. You can install agent on each of your target servers directly and run rolling deployment to those servers, unlike agent based deployments where you install build/deployment agents on proxy servers in an agent pool. You can use all tasks in task catalog on your target machines.
Deployment group allows you to create target deployment machine groups, without requiring you to register machines in agent pools or queues. Machine in a deployment group will have an agent registered with the named deployment group, within the team project providing required isolation for target environment (such as DevInt, QA, UAT, Demo, Production etc.), for a given product or project.
Logical group of targets (machines) having an agent installed on each of them is a deployment group. It represents your physical environments. It can be single-box, multi-machine or a farm of machines. You can specify the security context for your physical environments by using the deployment groups.
Let’s look at how to create a Deployment Group in Team Services.
A new deployment group get created and you can register different machines to the deployment group. To do that for windows machine you can copy the PowerShell script available and execute in the required machine.
You can provide a local user in the machine or domain user if your machine is in a domain to execute the agent service or it will be executed with system user by default. Agent will be successfully registered with the Deployment group. You can add additional tags or remove the tags specified in the machines tab of the deployment group. A machine can be removed from the group if it is no longer required to be in the group.
You can use tags to filter for machines in a deployment group. This allows you to use multiple Deployment group phases in a release environment to perform different set of actions in different machines selected depending on the tags.
Deployment groups are only available for VS Team Services and not available in on-premises TFS as of now. It will be available for on-premises TFS in future.