<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Niresh Prabu A</title>
    <description>The latest articles on DEV Community by Niresh Prabu A (@nir3shprabu).</description>
    <link>https://dev.to/nir3shprabu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1073235%2F6da109d6-d942-4292-b891-15c0a2f0856d.jpeg</url>
      <title>DEV Community: Niresh Prabu A</title>
      <link>https://dev.to/nir3shprabu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nir3shprabu"/>
    <language>en</language>
    <item>
      <title>Automate AWS Access Key Rotation with GitHub Actions</title>
      <dc:creator>Niresh Prabu A</dc:creator>
      <pubDate>Tue, 15 Jul 2025 08:23:30 +0000</pubDate>
      <link>https://dev.to/nir3shprabu/automate-aws-access-key-rotation-with-github-actions-2k09</link>
      <guid>https://dev.to/nir3shprabu/automate-aws-access-key-rotation-with-github-actions-2k09</guid>
      <description>&lt;p&gt;Managing AWS credentials securely is crucial in any cloud-native application. Long-lived credentials can be a major security risk if not rotated regularly. In this post, we’ll automate AWS IAM access key rotation using GitHub Actions — and even trigger a production deployment after successful rotation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Rotate AWS Access Keys?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AWS recommends rotating access keys every 90 days (or sooner) to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduce the risk of key leakage&lt;/li&gt;
&lt;li&gt;Prevent old keys from being used after a breach&lt;/li&gt;
&lt;li&gt;Align with security audits and compliance requirements&lt;/li&gt;
&lt;li&gt;Enforce good DevSecOps practicesAWS_ACCESS_KEY_ID_DEV&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of rotating keys manually, we can automate the entire process using GitHub Actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What We'll Do&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use softprops/aws-credential-rotary to rotate keys&lt;/p&gt;

&lt;p&gt;Use repository_dispatch to trigger a downstream deployment pipeline&lt;/p&gt;

&lt;p&gt;Keep environment-specific secrets updated&lt;/p&gt;

&lt;p&gt;Follow clear naming conventions&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before you begin, make sure you have:&lt;/p&gt;

&lt;p&gt;An IAM user with programmatic access&lt;/p&gt;

&lt;p&gt;Proper permissions to rotate and update access keys&lt;/p&gt;

&lt;p&gt;A GitHub repository&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Access to GitHub Secrets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;IAM Permissions Required&lt;br&gt;
Your IAM user (or role) needs the following permissions to rotate access keys:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:ListAccessKeys",
        "iam:DeleteAccessKey",
        "iam:CreateAccessKey",
        "iam:UpdateAccessKey"
      ],
      "Resource": "arn:aws:iam::&amp;lt;ACCOUNT_ID&amp;gt;:user/&amp;lt;IAM_USER_NAME&amp;gt;"
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure to replace  and  with your actual values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Secrets Naming Convention (Clear &amp;amp; Environment-Specific)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Store the following secrets in your GitHub repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AWS_ACCESS_KEY_ID_DEV&lt;/strong&gt;: IAM Access Key ID (Dev)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS_SECRET_ACCESS_KEY_DEV&lt;/strong&gt;: IAM Secret Access Key (Dev)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS_ACCESS_KEY_ID_PROD&lt;/strong&gt;: IAM Access Key ID (Production)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS_SECRET_ACCESS_KEY_PROD&lt;/strong&gt;: IAM Secret Access Key (Production)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS_KEYS_ROTATION_TOKEN&lt;/strong&gt;: GitHub token with repo scope&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To add these:&lt;/p&gt;

&lt;p&gt;Go to your GitHub repo &lt;strong&gt;→ Settings → Secrets and variables → Actions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Click New repository secret&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of This Naming Convention:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consistent with AWS naming&lt;/li&gt;
&lt;li&gt;Easy to script with&lt;/li&gt;
&lt;li&gt;Clear which secret belongs to which environment&lt;/li&gt;
&lt;li&gt;Looks clean in workflows and secret lists&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AWS Key Rotation Workflow (.github/workflows/rotate-aws-keys.yml)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Rotate AWS Keys

on:
  schedule:
    - cron: '0 1 * * 0'  # Every Sunday at 1 AM UTC

jobs:
  rotate-aws-keys:
    name: Rotate AWS Keys
    runs-on: ubuntu-latest
    steps:
      - name: Rotate AWS credentials - Dev
        uses: softprops/aws-credential-rotary@v1
        env:
          GITHUB_TOKEN: ${{ secrets.AWS_KEYS_ROTATION_TOKEN }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_DEV }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_DEV }}
        with:
          github-access-key-id-name: 'AWS_ACCESS_KEY_ID_DEV'
          github-secret-access-key-name: 'AWS_SECRET_ACCESS_KEY_DEV'

      - name: Rotate AWS credentials - Prod
        uses: softprops/aws-credential-rotary@v1
        env:
          GITHUB_TOKEN: ${{ secrets.AWS_KEYS_ROTATION_TOKEN }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_PROD }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_PROD }}
        with:
          github-access-key-id-name: 'AWS_ACCESS_KEY_ID_PROD'
          github-secret-access-key-name: 'AWS_SECRET_ACCESS_KEY_PROD'

      - name: Trigger Production Deployment
        uses: peter-evans/repository-dispatch@v3
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          event-type: trigger-prod-deployment

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This job:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rotates both Dev and Prod IAM keys&lt;/li&gt;
&lt;li&gt;Automatically updates the respective GitHub secrets&lt;/li&gt;
&lt;li&gt;Triggers a production deployment using the repository_dispatch event&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Deployment Workflow Listener&lt;/strong&gt;&lt;br&gt;
To listen for the event triggered after rotation, you’ll need this in your production deployment workflow:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Build &amp;amp; Deploy Application on Prod

on:
  workflow_dispatch:
  repository_dispatch:
    types: [trigger-prod-deployment]
  push:
    branches:
      - main
      - master

permissions:
  id-token: write
  contents: read
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This ensures your prod deployment only runs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;On demand&lt;/li&gt;
&lt;li&gt;On push to main/master&lt;/li&gt;
&lt;li&gt;Or after key rotation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why This Setup Works&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keeps your secrets rotated and fresh&lt;/li&gt;
&lt;li&gt;Supports multiple environments (Dev &amp;amp; Prod)&lt;/li&gt;
&lt;li&gt;Triggers deployment after a secure rotation&lt;/li&gt;
&lt;li&gt;Keeps credentials safely in GitHub Secrets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Automating IAM key rotation is a must-have for any production-grade AWS setup. By combining GitHub Actions, good naming conventions, and secret rotation plugins, you can eliminate manual errors and reduce your attack surface.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>aws</category>
      <category>devsecops</category>
      <category>githubactions</category>
    </item>
    <item>
      <title>Comprehensive Guide to Integrating SonarCloud with GitHub Projects</title>
      <dc:creator>Niresh Prabu A</dc:creator>
      <pubDate>Tue, 13 Aug 2024 12:31:02 +0000</pubDate>
      <link>https://dev.to/ittrident/comprehensive-guide-to-integrating-sonarcloud-with-github-projects-3449</link>
      <guid>https://dev.to/ittrident/comprehensive-guide-to-integrating-sonarcloud-with-github-projects-3449</guid>
      <description>&lt;p&gt;This blog post exemplifies how to integrate SonarCloud with GitHub to enhance code quality and security in your projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sonarcloud&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SonarCloud is a Software-as-a-Service (SaaS) code analysis tool designed to detect coding issues in 30+ languages, frameworks, and IaC platforms. By integrating directly with your CI pipeline or one of the supported DevOps platforms, your code is checked against an extensive set of rules that cover many attributes of code, such as maintainability, reliability, and security issues, on each merge/pull request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why SonarCloud Integration with GitHub is Essential for Your Projects&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Integrating SonarCloud with GitHub is essential for maintaining high code quality and security in your projects. By automatically analyzing your code with every commit, SonarCloud identifies issues like bugs, code smells, and vulnerabilities early in the development process. This integration helps ensure that only clean, reliable code gets merged, reducing technical debt and preventing potential security risks. Ultimately, it fosters a culture of continuous improvement and accountability, leading to more robust and maintainable software&lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;p&gt;Before integrating SonarCloud with your GitHub projects, there are a couple of prerequisites to ensure a smooth setup process:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Admin Access to the GitHub Repository&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You must have administrative access to the GitHub repository you wish to integrate with SonarCloud. This access is necessary to configure repository settings, add secrets, and link the repository with SonarCloud.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SonarCloud Account Setup&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need to have a SonarCloud account to proceed. If you don't have one, you can easily set it up by signing in with your GitHub account. This method simplifies the process by directly linking your GitHub repositories to SonarCloud, making it easier to manage projects and streamline the integration process. Visit &lt;a href="https://sonarcloud.io" rel="noopener noreferrer"&gt;SonarCloud&lt;/a&gt; and choose the "Sign in with GitHub" option to create your account and get started.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step-by-Step Guide: GitHub Integration with SonarCloud&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;a. Linking SonarCloud with GitHub&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sign in to SonarCloud: Go to SonarCloud and sign in using your GitHub account.&lt;/li&gt;
&lt;li&gt;Create a new organization: Navigate to the "My Organizations" tab and create a new organization linked to your GitHub account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5gnx80j08u6w3g6raehb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5gnx80j08u6w3g6raehb.png" alt=" " width="800" height="199"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Import your GitHub repository: After creating the organization, select "Analyze new project" and choose the GitHub repository you want to integrate with SonarCloud.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frytgxpu6sz33psigvvgv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frytgxpu6sz33psigvvgv.png" alt=" " width="800" height="84"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0q1wxagt8q475vwgozu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg0q1wxagt8q475vwgozu.png" alt=" " width="800" height="201"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;b. Generating and Adding Sonar Token in GitHub Secrets&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate a Sonar Token: 

&lt;ul&gt;
&lt;li&gt;In SonarCloud, go to your account settings and generate a new token under "Security".&lt;/li&gt;
&lt;li&gt;Copy the token to a secure location.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi79e5hpzvs16xadnak6a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi79e5hpzvs16xadnak6a.png" alt=" " width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add Sonar Token to GitHub Secrets:

&lt;ul&gt;
&lt;li&gt;In your GitHub repository, navigate to Settings &amp;gt; Secrets and variables &amp;gt; Actions.&lt;/li&gt;
&lt;li&gt;Click on New repository secret and name it SONAR_TOKEN.&lt;/li&gt;
&lt;li&gt;Paste the Sonar token generated earlier into the value field and save it.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2p7vg4ipqt42exkri76d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2p7vg4ipqt42exkri76d.png" alt=" " width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. CI/CD Pipeline Integration&lt;/strong&gt;&lt;br&gt;
   &lt;em&gt;a. Setting Up the CI/CD Pipeline:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Modify Your YAML File: In your repository, create or modify the .github/workflows/deployment.yml file to include SonarCloud analysis steps. Include this sonarcloud code scan step in the deployment yaml file.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  SonarCloudSCan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
            fetch-depth: 0
      - name: SonarCloud Scan
        uses: sonarsource/sonarcloud-github-action@master
        env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        with:
          args: &amp;gt;
              -Dsonar.organization=&amp;lt;your-organization-name&amp;gt;
              -Dsonar.projectKey=&amp;lt;your-project-key&amp;gt;
              -Dsonar.qualitygate.wait=true
              -X
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Ensuring Code Quality Before Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To ensure that your deployment only occurs when your code passes all quality checks, it's essential to add dependencies to your deployment step. This will prevent deployment if the code check fails, thereby maintaining the integrity and security of your application.&lt;/p&gt;

&lt;p&gt;In your CI/CD pipeline configuration (.yml file), include the following step to make sure the deployment only happens after the SonarCloud scan are successful:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Deploy:
  needs: 
    - SonarCloudScan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;jobs:
  SonarCloudSCan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
            fetch-depth: 0
      - name: SonarCloud Scan
        uses: sonarsource/sonarcloud-github-action@master
        env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        with:
          args: &amp;gt;
              -Dsonar.organization=tridentsqa
              -Dsonar.projectKey=TridentSQA_pmo-api
              -Dsonar.qualitygate.wait=true
              -X

   Deploy:
    needs: 
      - SonarCloudSCan
    name: deploy the new image in ECS
    runs-on: ubuntu-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: configure aws credentials
        uses: aws-actions/configure-aws-credentials@v1

 # Remaining deployment steps...........
....................................
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;6. Project Code Scan and Issue Resolution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After successfully integrating SonarCloud with your GitHub repository and setting up the CI/CD pipeline, your project's code will be automatically scanned by SonarCloud with every commit or pull request.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;a. Viewing the Scan Results:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Access the SonarCloud Dashboard: From your dashboard, select the project that has been integrated with GitHub.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Review the Analysis Overview: The dashboard provides an overview of the code quality, including metrics like code coverage, bugs, vulnerabilities, and code smells.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl7o2vn5h63lj739th1kt.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl7o2vn5h63lj739th1kt.jpg" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Examine Detailed Reports: Click on specific issues to view detailed descriptions, including the lines of code affected and suggestions for fixing them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;b. Resolving Issues:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Prioritize Critical Issues: Start by addressing bugs and security vulnerabilities, as these can impact the stability and security of your application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Follow SonarCloud's Recommendations: Each issue identified by SonarCloud comes with a recommended solution. Implement these fixes in your codebase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Re-run the Analysis: After resolving issues, push your changes to GitHub. The CI/CD pipeline will trigger a new SonarCloud scan, and the updated results will be reflected in the dashboard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensure Quality Gates are Passed: Quality gates are thresholds set in SonarCloud to enforce code quality standards. Make sure your project passes these gates before considering the work complete.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devops</category>
      <category>security</category>
      <category>githubactions</category>
      <category>sonarcloud</category>
    </item>
  </channel>
</rss>
