# Part 3: Tools Integration with Jenkins

Go to Jenkins Master and click on Manage Jenkins --> Plugins --> Available plugins. Install the following plugins:  
**Install** (Some of them get installed during the suggested plugins installation stage at start)

• OWASP (Dependency Check)  
• SonarQube Scanner (Quality)  
• Git (Code)  
• Docker (Containerrization)  
• Docker Pipeline  
• Pipeline: Stage View  
• Pipeline: Job  
• Blue Ocean

Fork GitHub Repo: [fullstack](https://github.com/abhinandan-chougule/fullstack-gitops-project.git) and [share-library](https://github.com/abhinandan-chougule/shared-library-jenkins.git)

*   **Configure OWASP, move to <mark class="bg-yellow-200 dark:bg-yellow-500/30">Manage Jenkins --&gt; Plugins --&gt; Available plugins</mark>**
    
*   **After the OWASP plugin is installed, move to <mark class="bg-yellow-200 dark:bg-yellow-500/30">Manage Jenkins --&gt; Tools</mark>**
    

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/1cd6069c-0526-43bd-b2b4-8dea273d38ce.png align="center")

*   **Log in to the SonarQube server and create the credentials for Jenkins to integrate with SonarQube  
    Navigate to Administration --> Security --> Users --> Token**
    

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/66ef4d3c-8abe-4ca6-b7b8-abfe69d9f8dd.png align="center")

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/57af62e3-8474-42c7-a11c-a4d69862659a.png align="center")

*   **Now, go to Manage Jenkins --> credentials**  
    **<mark class="bg-yellow-200 dark:bg-yellow-500/30">SonarQube: Integration</mark>**<mark class="bg-yellow-200 dark:bg-yellow-500/30"><br></mark>**<mark class="bg-yellow-200 dark:bg-yellow-500/30">GitHub: Pull shared library and application source code</mark>**<mark class="bg-yellow-200 dark:bg-yellow-500/30"><br></mark>**<mark class="bg-yellow-200 dark:bg-yellow-500/30">Docker Hub: to push the image</mark>**  
    **<mark class="bg-yellow-200 dark:bg-yellow-500/30">Create an API credentials for OWASP</mark>**
    

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/08d5b806-8d2f-4f94-a689-6eae94af1acb.png align="center")

*   **GitHub user name and PAT (as a password)**
    

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/632633aa-6828-4875-a1bb-5c537c46ea80.png align="center")

*   **Create and use an NVD API Key so OWASP can download with the API**  
    Generate API Key. Go to: [https://nvd.nist.gov/developers/request-an-api-key](https://nvd.nist.gov/developers/request-an-api-key)  
    Takes ~10 seconds. Key arrives by email.
    
*   **Add Key to Jenkins Credentials In Jenkins: Manage Jenkins → Credentials → Global → Add Credentials**  
    Type: Secret Text  
    ID: NVD\_API\_KEY  
    Secret: Fix Your API Key: 397ff9xxxxxxxxxxxxxx7b7d1c37
    

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/7a6155db-8ad6-414e-843c-046bf4231d17.png align="center")

*   **Go to Manage Jenkins --> Tools and search for SonarQube Scanner installations:**
    

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/295a2a9e-e365-4201-ab03-e8edff8ba366.png align="center")

*   **Now again, go to Manage Jenkins --> System and search for Global Trusted Pipeline Libraries:**
    

> ***Note: Before putting this shared library, Fork GitHub shared*** [***repository***](https://github.com/abhinandan-chougule/shared-library-jenkins.git)***, and put the project repository URL of your repository.***

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/45f1d0aa-f9f2-4a98-bb1b-cf785d8b0905.png align="center")

*   **Log in to the SonarQube server, go to <mark class="bg-yellow-200 dark:bg-yellow-500/30">Administration --&gt; Webhook,</mark> and click on create**
    

> Public Ip is of Jenkins CI (Master node) and port 8080 because SonarQube is running on it only.
> 
> http://public-ip-of-master:8080/sonarqube-webhook

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/3f5125c9-fe0d-4587-9208-f1867957e8f0.png align="center")

*   **Now, go to the fullstack GitHub** [**repository**](https://github.com/abhinandan-chougule/fullstack-gitops-project.git) **(hope you forked already) and under the <mark class="bg-yellow-200 dark:bg-yellow-500/30">Automations</mark> directory, update the <mark class="bg-yellow-200 dark:bg-yellow-500/30">instance-id</mark> field on both the** [**<mark class="bg-yellow-200 dark:bg-yellow-500/30">updatefrontendnew.sh</mark>**](http://updatefrontendnew.sh) [**<mark class="bg-yellow-200 dark:bg-yellow-500/30">updatebackendnew.sh</mark>**](http://updatebackendnew.sh) **with the EKS worker's node instance id**
    

![](https://cdn.hashnode.com/uploads/covers/6997142f587b14d25b5231b7/b71ae7dc-8157-415d-8dd2-5a09891d1cf3.png align="center")

Next...

* * *

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text"><a target="_blank" rel="noopener noreferrer nofollow" class="text-primary underline underline-offset-2 hover:text-primary/80 cursor-pointer" href="https://hashnode.com/edit/cmmbrre88000f2dn08be909i2" style="pointer-events: none;">Part 4: Create CI CD Jobs in Jenkins</a></div>
</div>
