Using user capabilities to identify a build agent in a pool
It is not uncommon to have specialized build agents for specific builds. For example, an application may have dependency on SharePoint SDK. A build agent can be stood up to cater for builds that have such dependencies. The new build system introduces the concept of capabilities. Capabilities, in their most basic form, are a collection of key value pairs used to recognize the abilities of a build server. A build that requires a specific ability for its execution can be routed to a relevant build agent by referring to these key/value pairs. A build agent supports both system and user capabilities. System capabilities are a list of software frameworks already available on the build agent. They are generated by the build agent. User capabilities can be manually added to a build agent; this is a useful way to tag on a key value pair to recognize a build agent. In this recipe, you'll learn how to add a user capability to a build agent...