CI/CD using Jenkins on Azure Virtual Machine Scale Sets

Last updated: 08/04/2018

This is a CI/CD sample using Jenkins and Terraform on Azure Virtual Machine Scale Sets

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
jenkinsVMAdminUsername User name for the Jenkins Virtual Machine.
jenkinsVMAdminPassword Password for the Jenkins Virtual Machine.
jenkinsDnsPrefix Unique DNS Name for the Public IP used to access the Jenkins Virtual Machine.
jenkinsReleaseType The Jenkins release type.
repositoryUrl GitHub repository URL for the source code.
clientId Client id for Azure service principal.
clientSecret Client secret for Azure service principal.
VMDnsPrefix Unique DNS Name for the new Tomcat Virtual Machine.
VMAdminUsername Username for the new Tomcat Virtual Machine.
VMAdminPassword Password for the new Tomcat Virtual Machine.
OMSWorkspaceName OMS workspace name.
_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-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/jenkins-cicd-vmss/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deployment
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/jenkins-cicd-vmss/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface

More templates by Alex Chen