For a long time sharing custom OS images between Azure subscriptions has been a painful, time consuming process. Thankfully Microsoft have addressed that with the introduction of Shared Image Gallery (SIG). However, the SIG is only as useful as the tools that can consume it and with SIG still in preview, some tools are not yet able to leverage it.
Thankfully though, the Microsoft team that manages the Jenkins Azure VM Agents plugin have been quick to update the plugin to support the SIG.
What does this mean?
Well if you’ve multiple Azure Clouds defined in Jenkins (i.e. multiple Azure subscriptions) you can now reference the same SIG OS image in all of your Clouds. Not only that but the plugin supports versioning of images introduced with SIG. This means you can choose a specific version to use, or (and this my favourite feature) specify ‘latest’ and the latest version of the image will be used. The reason this is my favourite feature is that updating a Jenkins node to use a new image no longer needs an update to the Cloud defined within Jenkins. This means the process of deploying a new image to be used in Jenkins can be completely automated and removes the need to interface with the Jenkins master.
Support for the SIG has been introduced with version 0.9.0 of the Jenkins VM Agents plugin.