CI/CD using Jenkins on Azure Container Service (AKS)

Por Tyler Lu
Última atualização: 25/01/2018

Containers make it very easy for you to continuously build and deploy your applications. By orchestrating deployment of those containers using Kubernetes in Azure Container Service, you can achieve replicable, manageable clusters of containers. By setting up a continuous build to produce your container images and orchestration, you can increase the speed and reliability of your deployment.

Este modelo do ARM (Azure Resource Manager) foi criado por um membro da comunidade, e não pela Microsoft. Cada modelo do ARM é licenciado para você de acordo com o contrato de licença de seu proprietário, e não da Microsoft. A Microsoft não é responsável por modelos do ARM fornecidos e licenciado por membros da comunidade e não avalia sua segurança, compatibilidade ou desempenho. Modelos do ARM da comunidade não têm suporte de nenhum programa ou serviço de suporte da Microsoft e são disponibilizados DA FORMA COMO ESTÃO, sem nenhum tipo de garantia.

Parâmetros

Nome do parâmetro Descrição
spClientId Service Principal Client ID used by Jenkins and Azure Container Service (AKS).
spClientSecret Service Principal Client Secret used by Jenkins and Azure Container Service(AKS).
linuxAdminUsername User name for the Linux Virtual Machines (Jenkins and Kubernetes).
linuxAdminPassword Password for the Jenkins and Grafana Virtual Machines.
linuxSSHPublicKey Configure all linux machines with the SSH RSA public key string. Your key should include three parts, for example 'ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm'
cosmosDbName Name of the CosmosDB.
acrName Name of the Azure Container Registery. The name may contain alpha numeric characters only and must be between 5 and 50 characters.
jenkinsDnsPrefix Unique DNS Name for the Public IP used to access the Jenkins Virtual Machine.
grafanaDnsPrefix Unique DNS Name for the Public IP used to access the Grafana Virtual Machine.
kubernetesDnsPrefix Optional DNS prefix to use with hosted Kubernetes API server FQDN.
kubernetesClusterName The name of the Managed Cluster resource.
kubernetesAgentCount The number of nodes for the cluster.
kubernetesAgentVMSize The size of the Virtual Machine.
kubernetesVersion The version of Kubernetes.
gitRepository URL to a public git repository that includes a Dockerfile.
_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.
location Location for all resources.

Usar o modelo

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-container/azuredeploy.json
Instale e configure o PowerShell do Azure

Linha de comando

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-container/azuredeploy.json
Instalar e configurar a Interface de Linha de Comando de Plataforma Cruzada do Azure

Mais modelos de Tyler Lu