2017-01-12 1 views
0

Jenkins가 실행 한 SonarQube와 함께 GitLab을 사용하고 있습니다. SonarQube에서 문제가보고되면 병합 요청이 허용되지 않도록해야합니다.sonar 문제에 대한 병합 요청 수락 방지

Gitlab CE 또는 EE에 대한 아이디어가 있으십니까?

+0

어떻게 SonarQube를 가동합니까? –

+0

SonarQube가 Jenkins에 의해 트리거됩니다. – NoobieNoob

+0

좋아요, 그 경우에는 Gitlab이 Jenkins를 트리거한다고 가정하고 Jenkins가 SonarQube를 트리거합니다. –

답변

1

Gitlab CI는 빌드가 실패하거나 미해결 토론이있는 경우 병합 요청을 방지하는 두 가지 방법을 제공합니다. this tutorial 다음에 Jenkins 플러그인을 구성하십시오. gitlab-jenkins-ci 통합과 gitlab trigerrs 젠킨스를 빌드 했으므로 gitlab의 프로젝트 설정에서 Only allow merge requests to be merged if the build succeeds을 활성화하고 SonarQube build breaker plugin을 설치하거나 rest api을 설치하십시오.

빌드를 포함하지 않는 방법은 gitlab SonarQube plugin을 사용하는 것이지만 현재는 병합 요청에 대한 주석을 지원하지 않으므로 플러그인을 수정하거나 gitlab API를 사용하여 문제를 해결해야합니다.

+0

나는 이미 그렇게하고 있습니다. Maven이 빌드되고 테스트가 성공하면 Jenkins가 성공합니다. Sonarqube 결과는 고려되지 않습니다. – NoobieNoob

+0

@NoobieNoob 그래서 SonarQube 결과가 부정적 일 때 젠킨스 빌드를 실패하는 것이 진짜 질문입니까? –

+0

음, 아니 젠킨스와 Sonarqube 결과를 분리하는 것이 좋습니다. Jenkins는 프로젝트를 성공적으로 빌드 할 수 있지만 Sonarqube가 문제를 발견 했으므로 병합을 차단해야합니다. – NoobieNoob