티스토리 뷰

<참조> https://www.azuredevopslabs.com/labs/vstsextend/sonarcloud/

 

 

 

 

 이 랩은 확인 및 정리할 내용이 다소 많아 2, 3편에 걸쳐 분리하여 포스팅 하고자 한다. 먼저 1편을 정리한다.

 

 

 

개요

SonarCloud는 클라우드 기반 코드 품질 및 보안 서비스이다. SonarCloud의 주요 기능은 다음과 같다.

  • 23개의 개발언어 : Java, JS, C #, C / C ++, Objective-C, TypeScript, Python, ABAP, PLSQL, T-SQL 등
  • 강력한 정적 코드 분석기 덕분에 찾기 어려운 버그와 품질 문제를 추적 할 수 있는 수천 가지 규칙이 있다.
  • Travis, Azure DevOps, BitBucket, AppVeyor 등을 사용한 Cloud CI를 통합한다.
  • 심층 코드 분석 : 브랜치 또는 Pull Request에 관계없이 모든 소스 파일을 탐색하여 친환경 품질 게이트에 도달하고 빌드를 촉진한다.
  • 빠르고 확장 가능하다.
추가 학습을 원한다면, Microsoft Learn에서 
Azure Pipelines의 취약점에 대한 스캔 코드
 모듈을 확인한다.

 

 

 

이 랩에서 다루는 것

이 실습에서는 Azure DevOps Services를 SonarCloud와 통합하는 방법을 배운다.

  • SonarCloud와 통합하기 위해 Azure DevOps 프로젝트 및 CI 빌드 설정
  • SonarCloud 보고서 분석
  • 정적 분석을 Azure DevOps 풀 요청 프로세스에 통합

 

 

 

 

전제 조건

1. Microsoft 계정이 필요하다.

2. 이 계정을 사용하여 Azure DevOps Services에 로그인한다.

3. 이 랩을 위한 새 Azure DevOps 프로젝트를 만든다.

 

Azure DevOps의 모든 프로젝트는 조직에 속해 있다. 로그인 시 자동으로 생성된 기본 조직에 배치되며, 사용자 이름에 따라 이름이 지정된다(예: Claudia Sonarova 사용자에게 조직 claudiasarova가 지정됨).

이 조직 내에서 SonarExamples라는 프로젝트를 만든다.

SonarCloud (아래 참조)에 유료 요금제로 등록하려는 경우가 아니면 Azure DevOps 프로젝트를 공개로 설정해야 한다. 유료 플랜에 가입하려는 경우 비공개 또는 공개 프로젝트를 사용할 수 있다.

https://github.com/SonarSource/sonar-scanning-examples.git의 GitHub에서 Sonar Scanning Examples 리포지토리를 가져온다. 

프로젝트 개요에서 Repos로 이동한 다음 Import를 클릭한다.

 

리포지토리 가져 오기에 대한 자세한 지침은 여기를 참조한다.

스캔하기 예제 리포지토리에는 C # with MSBuild, Maven and Gradle with Java를 포함한 여러 빌드 시스템 및 언어에 대한 샘플 프로젝트가 포함되어 있다.

 

4. Azure DevOps 계정에 SonarCloud Azure DevOps 확장을 설치한다.

Visual Studio Marketplace에서 SonarCloud 확장으로 이동하고 Get it free를 클릭하여 설치하고 설치가 완료되면 Proceed to organization을 클릭한다. 

 

 

 

마켓 플레이스에서 확장을 설치할 수 있는 적절한 권한이 없는 경우 계정 관리자에게 설치 승인을 요청하는 요청이 전송된다.

SonarCloud 확장에는 빌드 태스크, 빌드 템플릿 및 사용자 정의 대시 보드 위젯이 포함되어 있다.

 

5. Azure Devops에 사용한 것과 동일한 계정을 사용하여 SonarCloud에 로그인한다.

https://sonarcloud.io/

 

 

6. SonarCloud에서 조직을 만들고 그 안에 새 프로젝트를 만든다. SonarCloud에서 설정 한 조직 및 프로젝트는 Azure DevOps에서 설정한 조직 및 프로젝트를 미러링한다.

로그인 한 후 시작 페이지에서 Import project from Azure를 클릭하여 Azure DevOps 조직 이름 (dev.azure.com/{YOUR-ORG})을 추가한다.

Azure DevOps 조직 설정에서 개인 액세스 토큰을 만들고 제공한다. Scopes에서 Code (Read & Write) 범위인지 확인한다. 

 

 

 

조직 키를 선택한다. 키는 SonarCloud 시스템 내에서 고유해야 한다.

 

Key 필드 옆에 녹색 확인 표시가 나타나는지 확인한다. 이는 키가 SonarCloud에서 고유함을 나타낸다.

 

다음으로 플랜을 선택할 수 있다. 이 예에서는 무료 플랜 (즉, 공용 리포지토리 전용)을 선택하지만 개인 리포지토리를 사용하려는 경우 유료 플랜을 선택할 수 있다.

 

다음 단계는 해당 조직 내에서 Azure DevOps 프로젝트 SonarExamples를 미러링 할 SonarCloud 프로젝트를 만드는 것입니다. Analyze new project을 클릭한다.

 

Azure DevOps 프로젝트를 선택하고 Set up을 클릭한다. 

 

Sonarqube의 가이드에 따라 Azure Pipelines에서 검색을 설정하겠다.

 

이전에 수행한 경우 확장 만들기를 건너뛸 수 있다. Continue를 클릭한다.

 

 .NET 옵션을 클릭하고 실습 1을 위해 이 지침을 닫는다.

 

서비스 연결을 설정하고(Azure DevOps에서 Sonarcloud로) 파이프라인에서 검색을 구성하려면 표시된 정보가 필요하다.

 

(Azure DevOps - SonarExamples 프로젝트 설정에서 다음과 같은 순서대로 서비스 커넥션을 생성한다.)

 

 

 

2편에서 계속

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함