Skip to content

Instantly share code, notes, and snippets.

@whchi
Created December 13, 2024 08:12
Show Gist options
  • Select an option

  • Save whchi/45abd5692cff93dc00b20abc4b4c3f73 to your computer and use it in GitHub Desktop.

Select an option

Save whchi/45abd5692cff93dc00b20abc4b4c3f73 to your computer and use it in GitHub Desktop.
sonarqube gitlab yml
check-sonarqube-pr:
stage: check
image:
name: sonarsource/sonar-scanner-cli:11
entrypoint: ['']
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"
GIT_DEPTH: "0"
allow_failure: true
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
script:
- |
# last time merge commit hash
LAST_MERGE_COMMIT=$(git log --merges -n 1 --format=%H)
# change files
CHANGED_FILES=$(git diff --name-only $LAST_MERGE_COMMIT HEAD | tr '\n' ',')
if [ ! -z "$CHANGED_FILES" ]; then
sonar-scanner \
-Dsonar.qualitygate.wait=true \
-Dsonar.sources=. \
-Dsonar.host.url="${SONAR_HOST_URL}" \
-Dsonar.projectKey=${SONAR_PROJECT_KEY} \
-Dsonar.inclusions="${CHANGED_FILES}" \
-Dsonar.exclusions="**/*.sql,**/*.env,**/*.yml,**/*.env*,**/node_modules/**/*,**/dist/**/*,**/.nx/**/*"
else
echo "No changed files found since last merge commit"
fi
check-sonarqube-full:
image:
name: sonarsource/sonar-scanner-cli:11
entrypoint: ['']
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"
GIT_DEPTH: "0"
rules:
- if: $CI_COMMIT_BRANCH == "sonarqube"
stage: check
script:
- |
sonar-scanner \
-Dsonar.qualitygate.wait=true \
-Dsonar.sources=. \
-Dsonar.projectKey=${SONAR_PROJECT_KEY} \
-Dsonar.inclusions="tsconfig.base.json,apps/**/*,libs/**/*" \
-Dsonar.exclusions="**/*.sql,**/*.env,**/*.yml,**/*.env*,**/node_modules/**/*,**/dist/**/*,**/.nx/**/*" \
-Dsonar.host.url="${SONAR_HOST_URL}"
allow_failure: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment