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

Container Registry
Cosmos DB
Kubernetes Service
Monitor

Solution ideas

This article is a solution idea. If you'd like us to expand the content with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know by providing GitHub feedback.

Containers make it easy for you to continuously build and deploy applications. By orchestrating the deployment of those containers using Azure Kubernetes Service (AKS), 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.

Jenkins and Grafana are trademarks of their respective companies. No endorsement is implied by the use of these marks.

Potential use cases

  • Modernize application development practices to a microservice, container-based approach.
  • Speeding up application development and deployment lifecycles.
  • Automating deployments to test or acceptance environments for validation.

Architecture

Diagram showing container C I/C D using Jenkins and Kubernetes on Azure Kubernetes Service.

Download a Visio file of this architecture.

Dataflow

  1. Change application source code.
  2. Commit code to GitHub.
  3. Continuous Integration Trigger to Jenkins.
  4. Jenkins triggers a build job using Azure Kubernetes Service (AKS) for a dynamic build agent.
  5. Jenkins builds and pushes Docker container to Azure Container Registry.
  6. Jenkins deploys your new containerized app to Kubernetes on Azure.
  7. Container Service (AKS), backed by Azure Cosmos DB.
  8. Grafana displays visualization of infrastructure and application metrics via Azure Monitor.
  9. Monitor application and make improvements.

Components

Deploy this scenario

Next steps