Continuous integration and deployment (CI/CD) processes are becoming the standard for many organizations operating in the cloud—including many Spot by NetApp customers—with Jenkins as a core tool for building, testing and deploying code through CI/CD pipelines.
Spot has had an integration with Jenkins since our early days, allowing our users to configure Elastigroups managed by Jenkins and deploy jobs running on spot instances. With this plugin, a Jenkins controller initiates a spot instance and executes the Jenkins job on an agent machine. For our customers, this has brought them the massive cost savings on cloud compute—up to 90%—offered by spot instances, enabled by their own CI/CD tooling.
To run the Spot plugin in for Jenkins click here to follow this guide.
With three new additions to the Spot Jenkins plugin, customers have even more control of their application infrastructure and can accelerate their delivery pipelines.
Azure Spot VMs for optimized cost efficiency and capacity management
The new Azure Spot VMs are now supported by the Spot Jenkins plugin. An evolution of Low Priority VMs (LPVMs), these low-cost instances can be triggered just as a user would trigger any other VM with Jenkins. The Spot Jenkins plugin supports both Elastigroup for LPVMs and Elastigroup for Spot VMs.
When the Spot Jenkins plugin detects pending jobs in Jenkins, it will automatically provision Spot VMs accordingly, and will spin up multiple VM types across regions to optimize savings while still guaranteeing availability. Once nodes are provisioned, a startup script will run to connect them to the Jenkins controller as agent nodes, and immediately start executing jobs. When the job is finished, Elastigroup automatically detects and terminates idle nodes.
To make Spot VMs a real part of your cloud cost optimization strategy, learn more about Spot by NetApp’s Azure solutions.
Support for Websocket
Many Jenkins users benefit from WebSocket to more quickly and easily enable interaction between external applications running outside the cluster to a Jenkins controller. It’s become an important tool for DevOps teams to respond quickly to change, where as before, they would have to proxy a special TCP port for each Jenkins service in the cluster, which can be time consuming and complex.
To support our customers who use Websocket to connect inbound external agents with Jenkins, the Spot Jenkins plugin now has the option to enable Websocket when configuring Elastigroups in Jenkins.
Retrigger jobs after spot instance interruption
In cases of spot instance disruption, the Spot plugin will identify and re-trigger the Jenkins job, limiting manual intervention during an unexpected, offline event. This is the default when configuring the Elastigroup but can be turned off should the user not want to retrigger the job.
To get started with Elastigroup and Jenkins follow the documentation to install the plugin.