# Jenkins Pipeline for Java based application using Maven, SonarQube, Argo CD and Kubernetes

<figure><img src="/files/GEc5rOtjjYnXODMjT91I" alt=""><figcaption></figcaption></figure>

## **Pre-requistes**

* AWS account
* minikube installed on your local machine

## EC2 instance specification

```
instanceType: t2.large
AMI: Amazon Linux-2
Security Group: 
22, SSH
8080, Custom TCP
9000, Custom TCP
80, HTTP
443, HTTPS

```

* We have a choosen a **t2.large** instance because we will be running Jenkins, Sonarqube and Docker all on his instance only. Also to run Sonarqube requires atleast 2CPU which anyways cannot be fulfilled by t2.micro instance.&#x20;

{% hint style="danger" %}
**You many incure costs on your aws account since you are using a t2.large instace which doesnt come under free tier.**
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gawins-organization.gitbook.io/jenkins-sonar-argo-k8s/jenkins-pipeline-for-java-based-application-using-maven-sonarqube-argo-cd-and-kubernetes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
