|
1 | 1 | ---
|
2 |
| -title: Jenkins continuous deployment with Azure Kubernetes Service (AKS) |
3 |
| -description: Learn how to automate a continuous deployment process with Jenkins to deploy and upgrade a containerized app in Azure Kubernetes Service (AKS) |
| 2 | +title: Tutorial - Deploy from GitHub to Azure Kubernetes Service (AKS) with Jenkins |
| 3 | +description: Set up Jenkins for continuous integration (CI) from GitHub and continuous deployment (CD) to Azure Kubernetes Service (AKS) |
4 | 4 | services: container-service
|
5 |
| -author: iainfoulds |
6 |
| - |
7 | 5 | ms.service: container-service
|
| 6 | +author: iainfoulds |
| 7 | +ms.author: iainfou |
8 | 8 | ms.topic: article
|
9 | 9 | ms.date: 09/27/2018
|
10 |
| -ms.author: iainfou |
11 | 10 | ---
|
12 | 11 |
|
13 |
| -# Create a continuous deployment pipeline with Jenkins and Azure Kubernetes Service (AKS) |
| 12 | +# Tutorial: Deploy from GitHub to Azure Kubernetes Service (AKS) with Jenkins continuous integration and deployment |
14 | 13 |
|
15 |
| -To quickly deploy updates to applications in Azure Kubernetes Service (AKS), you often use a continuous integration and continuous delivery (CI/CD) platform. In a CI/CD platform, a code commit can trigger a new container build that is then used to deploy an updated application instance. In this article, you use Jenkins as the CI/CD platform to build and push container images to Azure Container Registry (ACR) and then run those applications in AKS. You learn how to: |
| 14 | +This tutorial deploys a sample app from GitHub to an |
| 15 | +[Azure Kubernetes Service (AKS)](/azure/aks/intro-kubernetes) |
| 16 | +cluster by setting up continuous integration (CI) and |
| 17 | +continuous deployment (CD) in Jenkins. That way, when you |
| 18 | +update your app by pushing commits to GitHub, Jenkins |
| 19 | +automatically runs a new container build, pushes container |
| 20 | +images to Azure Container Registry (ACR), and then runs your app in AKS. |
| 21 | + |
| 22 | +In this tutorial, you'll complete these tasks: |
16 | 23 |
|
17 | 24 | > [!div class="checklist"]
|
18 |
| -> * Deploy a sample Azure vote application to an AKS cluster |
19 |
| -> * Create a basic Jenkins instance |
20 |
| -> * Configure credentials for Jenkins to interact with ACR |
21 |
| -> * Create a Jenkins build job and GitHub webhook for automated builds |
22 |
| -> * Test the CI/CD pipeline to update an application in AKS based on GitHub code commits |
| 25 | +> * Deploy a sample Azure vote app to an AKS cluster. |
| 26 | +> * Create a basic Jenkins project. |
| 27 | +> * Set up credentials for Jenkins to interact with ACR. |
| 28 | +> * Create a Jenkins build job and GitHub webhook for automated builds. |
| 29 | +> * Test the CI/CD pipeline to update an application in AKS based on GitHub code commits. |
23 | 30 |
|
24 |
| -## Before you begin |
| 31 | +## Prerequisites |
25 | 32 |
|
26 |
| -You need the following items in order to complete the steps in this article. |
| 33 | +To complete this tutorial, you need these items: |
27 | 34 |
|
28 | 35 | - Basic understanding of Kubernetes, Git, CI/CD, and container images
|
29 | 36 |
|
30 |
| -- An [AKS cluster][aks-quickstart] and `kubectl` configured with the [AKS cluster credentials][aks-credentials]. |
31 |
| -- An [Azure Container Registry (ACR) registry][acr-quickstart], the ACR login server name, and the AKS cluster configured to [authenticate with the ACR registry][acr-authentication]. |
| 37 | +- An [AKS cluster][aks-quickstart] and `kubectl` configured with the |
| 38 | +[AKS cluster credentials][aks-credentials] |
| 39 | + |
| 40 | +- An [Azure Container Registry (ACR) registry][acr-quickstart], |
| 41 | +the ACR login server name, and the AKS cluster configured to |
| 42 | +[authenticate with the ACR registry][acr-authentication] |
| 43 | + |
| 44 | +- The Azure CLI version 2.0.46 or later installed and configured. |
| 45 | +Run `az --version` to find the version. If you need to install or upgrade, |
| 46 | +see [Install Azure CLI][install-azure-cli]. |
| 47 | + |
| 48 | +- [Docker installed][docker-install] on your development system |
32 | 49 |
|
33 |
| -- The Azure CLI version 2.0.46 or later installed and configured. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli]. |
34 |
| -- [Docker installed][docker-install] on your development system. |
35 |
| -- A GitHub account, [GitHub personal access token][git-access-token], and Git client installed on your development system. |
| 50 | +- A GitHub account, [GitHub personal access token][git-access-token], |
| 51 | +and Git client installed on your development system |
36 | 52 |
|
37 |
| -- If you provide your own Jenkins instance rather than this sample scripted way to deploy Jenkins, your Jenkins instance needs [Docker installed and configured][docker-install] and [kubectl][kubectl-install]. |
| 53 | +- If you provide your own Jenkins instance rather |
| 54 | +than this sample scripted way to deploy Jenkins, |
| 55 | +your Jenkins instance needs [Docker installed and configured][docker-install] |
| 56 | +and [kubectl][kubectl-install]. |
38 | 57 |
|
39 |
| -## Prepare the application |
| 58 | +## Prepare your app |
40 | 59 |
|
41 | 60 | In this article, you use a sample Azure vote application that contains a web interface hosted in one or more pods, and a second pod hosting Redis for temporary data storage. Before you integrate Jenkins and AKS for automated deployments, first manually prepare and deploy the Azure vote application to your AKS cluster. This manual deployment is version one of the application, and lets you see the application in action.
|
42 | 61 |
|
|
0 commit comments