Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

이 글은 https://blog.sonarsource.com/sonarcloud-loves-your-build-pipeline 를 번역한 글입니다


Pull Requests를 가장 우선하세요

그렇습니다. 이제 SonarCloud에서도 풀 리퀘스트를 활용할 수 있습니다!

...

이전에 사용한 분석 속성들 중 아래와 같은 항목들이 있는 경우에는 해당 속성들을 반드시 삭제해 주시기 바랍니다:

sonar.analysis.modesonarmode
sonar.github.repository
sonar.github.pullRequest
sonar.github.oauth

LIVE MEASURES

여러분은 Quality Gate를 참조해 조치해야 할 이슈까지 탐색해 들어갑니다. Quality Gate를 녹색 상태(green) 상태로 만들기 위해 해당 이슈를 '수정하지 않음(Won't Fix)'으로 마킹한 뒤, 프로젝트 홈페이지로 돌아오면 다음 화면을 만나게 됩니다...

Quality Gate는 여전히 적색 상태(red)로 표시됩니다.

SonarQube를 처음 사용하는 사용자들이 맞닥뜨리는 잘 이해되지 않는 동작 중 하나입니다 – 각 지표들의 수치는 다음 번 분석을 수행한 후에야 업데이트 됩니다. 최소한 이전 버전까지는 그랬습니다. SQ 7.0에서 새롭게 추가된 "Live Measures" 기능을 통해 프로젝트에서 수정한 지표들은 즉시 UI 상에서 업데이트되어 표시됩니다. 즉 다음 번 분석을 기다릴 필요가 없다는 것입니다. 위 예시와 같은 상황이라면 SQ 7.0의 Quality Gate 및 지표는 프로젝트 홈페이지에서 아래와 같이 표시됩니다.

이슈에 대한 조치를 취하자마자, 해당 내용이 프로젝트 홈페이지에 반영됩니다 (smile)

이번 버전에 추가된 내용들

SQ 7.0에서는 Sonar way Quality Gate를 factory static으로 만들었습니다(이는 Quality Profile의  Sonar way와 같은 방식입니다).

즉, 새로운 SQ 버전이 릴리스될 때마다 Quality Gate의 변경 사항을 추적할 수 있게 되었음을 의미합니다. Quality Gate Sonar way는 SQ 인스트언스와 함께 기본 배포되며, 별도로 수정하지 않는 한 신규 코드로 인한 누수에 집중할 수 이는 최선(적어도 우리가 생각하기에)의 Quality Gate를 운영할 수 있습니다.

SQ instance의 성능을 개선해 보다 부드러운 UI를 제공하며, 함께 제공하는 내장된 분석 엔진들도 업데이트 되었습니다. 이전 버전 대비 중요한 변경 사항들은 아래와 같습니다.

  • SonarC# 6.71

    • 프로젝트 상호 참조 분석(cross-platform analysis)

    • 보다 개선된 테스트 프레임워크 지원(improved support for test frameworks)

    • 실행 가능한 코드 라인(Executable Lines) 지표 지원

    • 자동 생성 파일 식별 및 제외 기능

  • SonarJava 5.1

    • 신규 규칙 추가(bug 2, code smell 3, vulnerability 1)

    • Eclipse 및 JetBrains null 관련 annotation 지원

  • SonarJS 4.0

    • 신규 규칙 추가(code smell 3)

    • 다수의 규칙 및 기본 제공되는 Sonar way profile 정확도 개선

  • SonarPHP 2.2

    • 신규 규칙 추가(bug 9, code smell 10)

    • 인지 복잡도(Cognitive Complexity) 지표 지원

  • SonarPython 1.9

  • SonarTS 1.5

Community Edition의 기능 추가와 함께 Commercial Edition의 기능도 추가되었습니다.

Developer Edition:

  • SonarVB

    • 프로젝트 상호 참조 분석(cross-platform analysis)

    • NUnit3 커버리지 보고서 지원

    • 신규 규칙 추가(bug 1, code smell 6)

Enterprise Edition:

자, 여기까지입니다!

지금 새로운 버전을 다운로드 받아 사용해 보십시오. 사용전 설치 및 업그레이드 가이드를 숙지하시기 바랍니다 (smile)Microsoft VSTS를 사용하는 경우에도 특별하게 걱정할 필요는 없습니다. SonarCloud extension에서 제공하는 “Prepare Analysis Configuration” 태스크를 활용해 빌드 정의 단계에서 적절한 속성값을 설정할 수 있으며, 이 속성값들은 프로젝틔 풀리퀘스트 빌드를 검증하는 데 사용됩니다. GitHub을 사용할 때와 마찬가지로 프로젝트의 “Administration > General Settings > Pull Requests” 페이지에 authentication token을 입력해야 합니다.

SonarCloud에는 풀 리퀘스트의 녹색/적색 표시가 나타나지만 아직 VSTS에는 해당 표시가 나타나지 않습니다(코멘트 및 상태). 이 기능은 1~2주 후 적용될 예정입니다.

Bitbucket Cloud 사용자 분들도 1~2개월 후 이 기능을 사용하실 수 있습니다.

Webhook Console

SonarCloud 분석을 개발 프로세스에 잘 통합했다면, 이미 SonarCloud에서 제공하는 웹훅을 사용해 품질 게이트의 상태, 릴리즈 파이프라인의 잠재적인 실패 가능성에 대한 노티피케이션을 정의하였을 것입니다. 조직 혹은 프로젝트 레벨에서 전용 페이지를 통해 웹훅을 관리할 수 있습니다.

이 콘솔에서 다음 작업을 수행할 수 있습니다:

  • 웹훅 정의 및 어데이트

  • 실패한 웹훅에 대한 정보

  • 웹훅을 통한 데이터 전송 상세 정보

C#, Java 및 T-SQL 언어에 대한 신규 규칙

위 언어들에 대한 새로운 규칙들이 SonarCloud에 추가되었습니다: