Continuous Deployment to VM Scale Sets with Jenkins and Spinnaker

Last updated: 15/02/2017

Deploys instances of Spinnaker and Jenkins CI tools configured to target the Azure platform onto a Linux VM in Azure

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
spinnakerDnsPrefix Unique DNS Name for the Public IP used to access the Spinnaker Virtual Machine.
jenkinsDnsPrefix Unique DNS Name for the Public IP used to access the Jenkins Virtual Machine.
vmUserName Login user name for the spinnaker VM.
vmPassword Login password for the spinnaker VM.
servicePrincipalClientId Client ID of the Azure AD application that has rights to spinnaker.
servicePrincipalClientSecret Client Secret of the Azure AD application that has rights to spinnaker.
keyVaultAccountName Name of your KeyVault account.
OracleUserName Name of your Oracle Account used to download the JDK.
JenkinsUserName Name of your Jenkins User account.
JenkinsPassword Password of your Jenkins User account.
AptlyRepoName A repository with that name will be created locally on the Jenkins VM with Aptly. Aptly is a tool for Debian repository management
_artifactsLocation The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated.
_artifactsLocationSasToken The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated.

Use the template

PowerShell
New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/spinnaker-jenkins-to-vmss/azuredeploy.json
Installing and configuring Azure PowerShell
Command line
azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/spinnaker-jenkins-to-vmss/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface