diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml
new file mode 100644
index 000000000..c17341f4d
--- /dev/null
+++ b/.github/workflows/sonarcloud.yml
@@ -0,0 +1,44 @@
+name: SonarCloud Analysis
+
+on:
+ push:
+ branches: [ main, master, develop, sonarqube ]
+ pull_request:
+ branches: [ main, master ]
+
+jobs:
+ sonarcloud:
+ name: SonarCloud Analysis
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0 # Shallow clones should be disabled for better analysis
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ - name: Cache SonarCloud packages
+ uses: actions/cache@v4
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+
+ - name: Cache Maven packages
+ uses: actions/cache@v4
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+
+ - name: Build and analyze with Maven
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=your-project-key
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 1dbccf016..34a73d747 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,6 +37,27 @@
0.0.11
0.0.46
+
+ mtech-software-solutions
+ https://sonarcloud.io
+ mtech-software-solutions
+ spring-petclinic
+
+
+
+ **/config/**,
+ **/dto/**,
+ **/entity/**,
+ **/exception/**,
+ **/*Application.java,
+ **/target/**
+
+
+
+
+ **/test/**
+
+
@@ -265,6 +286,11 @@
+
+ org.sonarsource.scanner.maven
+ sonar-maven-plugin
+ 3.10.0.2594
+