Skip to content

SonarCloud Code Analyze Workflow 등록 #1

SonarCloud Code Analyze Workflow 등록

SonarCloud Code Analyze Workflow 등록 #1

name: F-Lab SonarCloud Code Analyze
on:
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:
env:
CACHED_DEPENDENCIES_PATHS: '**/node_modules'
jobs:
CodeAnalyze:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set SonarCloud Project Key
run: |
REPO_NAME=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 2)
ORG_NAME=$(echo $GITHUB_REPOSITORY | cut -d '/' -f 1)
SONAR_PROJECT_KEY="${ORG_NAME}_${REPO_NAME}"
echo "SONAR_PROJECT_KEY=$SONAR_PROJECT_KEY" >> $GITHUB_ENV
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: '19'
distribution: 'adopt'
- name: Create Sonar Gradle File
run: |
insert_string="plugins { id 'org.sonarqube' version '4.4.1.3373' }"
if [ -f "build.gradle" ]; then
echo "$insert_string" > temp.gradle
cat build.gradle >> temp.gradle
echo "" >> temp.gradle
echo "sonarqube {" >> temp.gradle
echo " properties {" >> temp.gradle
echo " property 'sonar.java.binaries', '**'" >> temp.gradle
echo " }" >> temp.gradle
echo "}" >> temp.gradle
mv temp.gradle build.gradle
else
echo "$insert_string" > build.gradle
echo "" >> build.gradle
echo "sonarqube {" >> build.gradle
echo " properties {" >> build.gradle
echo " property 'sonar.java.binaries', '**'" >> build.gradle
echo " }" >> build.gradle
echo "}" >> build.gradle
fi
chmod 777 ./gradlew
- name: Analyze
run: ./gradlew sonar -Dsonar.projectKey=${{ env.SONAR_PROJECT_KEY }} -Dsonar.organization=f-lab-edu-1 -Dsonar.host.url=https://sonarcloud.io -Dsonar.token=${{ secrets.SECRET_SONARQUBE }} -Dsonar.gradle.skipCompile=true
env:
SONAR_TOKEN: ${{ secrets.SECRET_SONARQUBE }}