This project is a CICD pipeline for deploying a Java application on a Kubernetes cluster using Jenkins. It uses Docker as the container runtime and Docker Hub as the container registry. The project also includes Sonarqube for code analysis and Helm for packaging and deploying on Kubernetes.
- Kubernetes: Orchestration tool
- Docker: Container runtime
- Jenkins: CI/CD server
- Docker Hub: Container registry
- Helm: Package and deploy on Kubernetes
- Git: Version control system
- Maven: Build tool
- Sonarqube: Code analysis server
To use this project, you will need the following:
- A Kubernetes cluster
- Docker installed on your local machine
- Jenkins installed on your local machine or on a remote server
- A Docker Hub account
- Git installed on your local machine
- Maven installed on your local machine
- Sonarqube installed on your local machine or on a remote server
To get started, follow these steps:
- Clone this repository to your local machine:
git clone https://github.com/DIK-SHITA08/CICD_Kubernetes_Cluster_using_Jenkins.git- Build the Java application using Maven:
mvn clean install- Build the Docker image:
docker build -t <your-docker-hub-username>/<your-image-name>:<tag> .- Push the Docker image to Docker Hub:
docker push <your-docker-hub-username>/<your-image-name>:<tag>- Create a Kubernetes deployment using Helm:
helm install <your-release-name> ./helm-chart- Verify that the Java application is running on the Kubernetes cluster:
kubectl get pods- Set up a Jenkins job to automate the CICD pipeline. Use the Jenkinsfile included in this repository as a template.
If you would like to contribute to this project, please follow these steps:
- Fork this repository to your own account.
- Create a branch from the main branch with a descriptive name.
- Make your changes and commit them with descriptive commit messages.
- Push your changes to your forked repository.
- Create a pull request to merge your changes into the main branch of this repository.
