Skip to content

ahmedabuhamid/eshopOnContainers-Complete-Jenkins-CI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

eshopOnContainers-Complete-Jenkins-CI

License

This project is a complete jenkins continious integration pipeline for thirteen microservice of the eShopOnContainers. eShopOnContainers is a well documented and structured .NET project. the purpose of this repo is to devide the code into separate microservices which is tested, built and deployed separately using Jenkins.

ideally you will have one repo/microservice and each repo will have devlop, pre-prod and prod branches. to be able to demonstrate the concept we will use this single repo and will configure one microservice/branch.

pre-requisites:

  • Jenkins server
  • SonarQube server
  • azure container registry
  • AKS

I used my repo provision-azure-infra-terraform-jenkins to quickly provision and the needed infra.

How to use:

clone the repo and checkout to each branch to see how each microservice was built. each branch will trigger a Jenkins job that will produce two artifacts:

1- docker image of the microservice.

2- packaged Helm chart (to be used in a release pipeline to deploy this particular microservice).

you can use the below command to manually deploy/test the chart in your AKS cluster:

helm install $RELEASE_NAME oci://$ACR_NAME.azurecr.io/$CHART_NAME --version $CHART_VERSION

The plan for this repository:

1- to add release pipeline to deploy to Kubernetes Cluster.

2- to use Jenkins shared library to reduce the repeated code between the microservices.

work-flow and screenshots:

workflow: workflow_pic

Jenkins Jobs: jenkins

one_job

SonarQube analysis: sonar_pic

Datree analysis: datree

Azure Container registery: acr

Post job mail notification: post_job

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published