We currently use the Visual Studio Release Management tool to manage the release phase of our code. At the moment, we are using the action based, old templates, that require a dedicated deployment agent installed on each target machine. In the future, we plan to use the Desired State Configuration approach, but I stumbled on a problem that I could not answer myself now. I suspect this will apply to the DSC pipeline too, but I'm focusing now on the action/component based one.
In RM, you can only place actions and components in machine scopes. You have servers which have the deployment agent installed that are selectable in the pipeline, and they are the base entity in the workflow. Everything goes inside of these machine scopes.
But we now have a release requirement that is not an installation per se. One of the actions we would like to automate is the publishing of an android apk in google play, but this does not depend on any particular machine, since it does not install anything. It needs the apk itself, which is in our drop folder, but it does not need to copy it to any of our machines.
Since RM does not allow one to place actions and components outside of machine scopes, what is the strategy to run machine independent release actions inside the tool? I thought about installing the deployment agent in the same machine as the RM server and using another machine scope, "localhost", to do this, but it seems very convoluted.
What I wanted is very similar to how TFS Build works. When the build workflow starts, it is running on the build controller, and you can place any activity at that scope. Then, at some point of the workflow, it starts running tasks in the build agent. Is there something similar to "run on the controller itself" for RM?