My additional steps (5-8) are replicated over and over in each of my release definitions (I used to do 5-8 during build, but since moving to web.config transformation during release, that task as been moved to the CD portion). Adding and maintaining these steps to every single release definition can be quite burdensome when making updates. It would be nice if I could, I don’t know, group them and ask for only the information I need that differentiates the actions from definition to definition?

Task Groups

Task groups are Microsoft’s way of grouping definition tasking patterns in such a way that you can reuse the pattern across your definitions. My 4 tasks it takes to extract, install npm, use gulp to minify/obfuscate and then FTP the content to my CDN becomes one task with a couple fields to fill out. I go from this:

to this (the four tasks are merged into the “Task Group: FTP Content to CDN” task):

I only need fill those handful of fields and I’m up and running. Combine that will VSTS’s variable groups and the only field I need change is the Ftp.RemoteDirectoryRoot so my environments are deployed to different locations.