반응형
일단 소나큐브 컨테이너를 설치한다.
docker run -d --name sonarqube \
-p 9000:9000 \
-e SONAR_WEB_JAVAOPTS="-Xms256m -Xmx512m" \
-e SONAR_CE_JAVAOPTS="-Xms256m -Xmx512m" \
-e SONAR_SEARCH_JAVAOPTS="-Xms512m -Xmx512m" \
sonarqube:lts
해당 서버 ip:9000 으로 접속하면 아래와 같은 로그인 화면이 보인다.
(보안 정책 추가 까먹지 말자)
기본 ID, PW : admin 이다.
my Account 에 들어가서 토큰을 생성해준다.
젠킨스에 해당 플러그인을 설치해준다
아마 설치 시에는 SonarQube Scanner 라고만 뜰거다.
Jenjins 설정 Tools 에들어가서
SonarQube Scanner설정을 추가해준다.
또한, SonarQube servers 에 주소와 아까 생성한 토큰을 넣어준다(토큰은 jenkins credentials에 넣어주어야한다.)
build.gradle에 아래 내용을 추가해준다.
plugins {
id 'java'
id 'org.springframework.boot' version '3.4.4'
id 'io.spring.dependency-management' version '1.1.7'
id "org.sonarqube" version "4.4.1.3373"
}
sonarqube {
properties {
property "sonar.projectKey", "vivim_be"
property "sonar.projectName", "VIVIM_BE"
property "sonar.host.url", "http://localhost:9000"
}
}
projectKey는 이제 sonarCube에 생성될 프로젝트의 이름이다.
젠킨스 파일 에 도커 이미지 빌드 전에 아래 로직을 추가한다.
stage('SonarQube Analysis') {
steps {
echo '🔍 SonarQube 분석 시작'
withSonarQubeEnv('SonarQube') {
dir('.') {
sh '''
chmod +x ./gradlew
./gradlew clean sonarqube --no-daemon
'''
}
}
}
}
이제 젠킨스 빌드가 실행되면?
위와 같이 정적 분석 결과가 표시된다.
반응형
'DevOps' 카테고리의 다른 글
자자 AWS 인스턴스에서 Jenkins + DockerContainer 돌리기 드가자~ (0) | 2025.03.28 |
---|---|
젠킨스 서버가 죽었다.. (0) | 2025.03.28 |
Jenkins(젠킨스)는 도커 컨테이너로 돌리지 말자 (0) | 2025.03.21 |
개발 환경과 서버 환경의 아키텍처 일치성: 스프링 부트 관점에서 (0) | 2025.03.19 |
Github Action arm64 아키텍처로 ci/cd 구축하기 (0) | 2025.03.19 |