반응형
sonarqube를 프로젝트와 연동하여 PR이 올라올 때마다 build 결과를 sonarqube에게 전송해주려 했다.
그런데 빌드가 실패하면서 아래와 같은 에러를 마주하게 됐다.
You're not authorized to run analysis. Please contact the project administrator.
SECRET_HOST_URL, SECRET_TOKEN 값도 제대로 들어오고 있었고, Sonarqube의 Server Base Url에도 올바른 값을 지정해주고 있었다.
근데 왜 에러가 발생하는걸까?
해결 방법
나의 경우는 원래 아래와 같이 properties를 build.gradle에 모두 명시해주고 있었다.
중요한 환경변수는 github의 Secret Configuration을 이용해 지정해주고 있었다.
build.gradle
// 빌드 실패한 코드
sonarqube {
properties {
property "sonar.projectKey", "naepyeon"
property "sonar.sources", "src"
property "sonar.language", "java"
property "sonar.sourceEncoding",
property "sonar.profile", "Sonar way"
property "sonar.java.binaries", "${buildDir}/classes"
property "sonar.test.inclusions", "**/*Test.java"
property "sonar.coverage.jacoco.xmlReportPaths", "${buildDir}/reports/jacoco/test/jacocoTestReport.xml"
}
}
위 코드를 아래와 같이 sonarqube에서 제공해주는 튜토리얼 코드로 변경해주었다. sonar.projectKey 외의 property는 별도로 명시하지 않은 깔끔한 코드였다.
build.gradle
// 빌드 성공한 코드
sonarqube {
properties {
property "sonar.projectKey", "naepyeon"
}
}
위와 같이 변경해주면 해당 에러 없이 빌드가 성공적으로 진행되는 것을 확인할 수 있다!
정확한 원인은 알 수 없는 점이 아쉽다.
아마 명시해준 property가 실제 정보와 달라 인증이 되지 않았나 싶다.
위 에러가 발생한다면 sonarqube properties 를 올바르게 주고 있는지 확인해보도록 하자.
참고할만한 자료들이 전부 나와는 관련없는 경우였어서 삽질을 좀 오래 했다.
도움을 준 사람
- 우아한테크코스 4기 이프 (https://github.com/sinb57)
- 우아한테크코스 4기 그린론 (https://github.com/jaejae-yoo)
반응형