문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:sonarqube [2019/02/01 13:03] kwon37xi [Jenkins Pipeline에서 Quality Gate 응답 대기] |
java:sonarqube [2022/10/19 10:08] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 2: | 줄 2: | ||
| * http:// | * http:// | ||
| * 코드 품질 관리 툴 | * 코드 품질 관리 툴 | ||
| + | * [[programming: | ||
| * [[gradle: | * [[gradle: | ||
| 줄 14: | 줄 15: | ||
| * 해당 규칙이 false positive 인 경우 '' | * 해당 규칙이 false positive 인 경우 '' | ||
| * '' | * '' | ||
| + | |||
| + | <note warning> | ||
| + | SonarQube 의 코드 퀄리티를 만족시키기 위해서 우리 사정상 어쩔 수 없거나 SonarQube 의 경고 자체가 잘못된 경우가 있는데, 억지로 이게 맞추려고 코드를 꼬아서 만들거나 해서는 안 된다. 이게 오히려 버그를 만든다. | ||
| + | |||
| + | 이럴때는 즉각 팀에 공유하고, | ||
| + | </ | ||
| ==== @SuppressWarnings(" | ==== @SuppressWarnings(" | ||
| 줄 48: | 줄 55: | ||
| * 알림은 자기 계정의 **My Account -> Notifications**에서 프로젝트 단위, 혹은 전체 프로젝트를 지정할 수 있다. | * 알림은 자기 계정의 **My Account -> Notifications**에서 프로젝트 단위, 혹은 전체 프로젝트를 지정할 수 있다. | ||
| + | ==== sonar.qualitygate.wait=true ==== | ||
| + | * [[https:// | ||
| + | * sonarqube 8.x 에서는 client 에서 '' | ||
| ===== Jenkins Pipeline에서 Quality Gate 응답 대기 ===== | ===== Jenkins Pipeline에서 Quality Gate 응답 대기 ===== | ||
| + | * sonarqube 8.x 에서는 불필요. sonarqube gradle/ | ||
| + | * [[https:// | ||
| + | * Jenkins 설정에서 sonarqube URL / 인증등을 설정해주고서 | ||
| + | * [[https:// | ||
| * Quality Gate 응답을 기다리고 실패이면 UNSTABLE로 변경< | * Quality Gate 응답을 기다리고 실패이면 UNSTABLE로 변경< | ||
| timeout(time: | timeout(time: | ||
| 줄 59: | 줄 73: | ||
| </ | </ | ||
| * Declarative Pipeline 에서 아래 사용시 무조건 FAILURE로 바꿔버림< | * Declarative Pipeline 에서 아래 사용시 무조건 FAILURE로 바꿔버림< | ||
| - | waitForQualityGate abortPipeline: | + | stage(" |
| + | steps { | ||
| + | timeout(time: | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | } | ||
| </ | </ | ||
| - | * [[https:// | + | * Sonarqube의 |
| ===== Installing Sonar ===== | ===== Installing Sonar ===== | ||
| * [[http:// | * [[http:// | ||
| 줄 96: | 줄 117: | ||
| </ | </ | ||
| * 위와 같은 오류 발생시에는 SonarQube **Settings -> General Settings -> Java -> FindBugs**에 들어가 FindBug에서 timeout을 늘려줘야한다. | * 위와 같은 오류 발생시에는 SonarQube **Settings -> General Settings -> Java -> FindBugs**에 들어가 FindBug에서 timeout을 늘려줘야한다. | ||
| + | |||
| + | ===== Analysis Parameter ===== | ||
| + | * https:// | ||
| + | |||
| + | ==== duplication exclude ==== | ||
| + | * '' | ||
| + | |||
| ===== 참조 ===== | ===== 참조 ===== | ||
| 줄 101: | 줄 129: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||