GoCD - Microsoft Azure Elastic Agent Plugin
This Elastic Agent plugin for Microsoft Azure allows you to run elastic agents on Windows Azure virtual machines. The plugin takes care of spinning up, shutting down virtual machines and installing go-agent based on the need of your deployment pipeline, thus removing bottlenecks and reducing the cost of your agent infrastructure.
When a pipeline is triggered, GoCD sees that the jobs in the pipeline have been configured to use Azure virtual machines, and passes on information about the configured elastic agent profiles to the plugin. The plugin, based on the user-defined configuration, decides whether to spin up a new virtual machine or re-use an existing one.
You can configure the plugin to use a Azure virtual network, resource group and region where the virtual machines will be created. The plugin supports both Windows and Linux virtual machines. The elastic profiles can be configured to use an image from Azure marketplace or a custom image from your subscription. You can configure the size of the VM, disk space and more.
Once the builds finish and the virtual machine will be terminated or kept idle for a configured amount of time. This allows for more efficient usage of resources and reduces the overhead of creating virtual machines for each job. The VM will be terminated after the idle time and a fresh one will be created once required by a new job.