SonarQube | SonarCloud | SonarLint – DevOps + 보안 + QA (가장 널리 사용되는 오픈 소스 도구)
SonarQube는 코드 품질의 지속적인 검사를 위한 선도적인 오픈 소스 플랫폼입니다. 정적 코드 분석을 사용하여 27개 이상의 프로그래밍 언어에서 버그, 코드 스멜(code smells), 보안 취약점 및 유지보수 문제를 감지하는 자동 코드 리뷰를 수행합니다. 이 과정은 실습 중심(learn-by-doing) 방식으로 설계되어, SonarQube와 그 생태계에 대한 깊고 실무적인 전문 지식을 습득할 수 있도록 돕습니다.
대상:
이 과정은 코드 품질, 보안 및 CI/CD 모범 사례를 마스터하고자 하는 신입 사원, 개발자, 프로젝트 매니저, 아키텍트, QA 엔지니어, 지원 엔지니어, DevOps, DevSecOps, InfoSec 및 프로세스 엔지니어에게 적합합니다.
기초 및 개념
SonarQube, SonarCloud 및 SonarLint 소개
정적 코드 분석의 목적과 이점
DevOps 및 DevSecOps 유스케이스 이해
SonarQube 아키텍처, 에디션, 버전 및 생태계
핵심 SonarQube 용어 및 메트릭
유지보수성, 신뢰성 및 보안 개념
설치 및 설정
Docker 및 Docker-Compose를 사용한 SonarQube 설치 및 설정
Jenkins 설치 및 구성
Sonar Scanner 설치 및 구성
빌드 도구 설정:
Ant, Maven, Gradle
NodeJS, Python
SonarQube UI 및 탐색 개요
실습 코드 분석
SonarQube 및 CI 파이프라인에 프로젝트 온보딩
여러 프로그래밍 언어에 대한 코드 분석 실행
분석 결과 게시 및 해석
코드 커버리지, 단위 및 통합 테스트 결과 보고
다음 사항에 대한 이해 및 분석:
버그
취약점
코드 스멜
기술 부채
복잡도
중복된 라인, 파일 및 블록
SonarLint 및 IDE 통합
다음 환경에 SonarLint 설치:
Eclipse
IntelliJ IDEA
VS Code
SonarLint 연결 모드(Connected Mode) 구성
IDE에서의 실시간 코드 분석 및 이슈 감지
품질 관리
품질 게이트(Quality Gates) 및 품질 프로필(Quality Profiles)
커스텀 규칙 및 규칙 템플릿 생성 및 관리
팀 전체에 품질 표준 적용
품질 게이트 조건에 따른 빌드 실패 처리
식별된 이슈 처리 및 수정
관리 및 구성
프로젝트 관리
사용자, 그룹, 권한 및 토큰 관리
플러그인 설치 및 관리
SonarQube 보안 구성
SMTP 구성 및 이메일 알림
회사 로고를 사용한 SonarQube UI 브랜딩
SonarQube 마켓플레이스 및 시스템 세부 정보
보안 및 SAST
SAST(정적 애플리케이션 보안 테스트) 기초
보안 취약점 분석
CI/CD 파이프라인과 SAST 통합
CI/CD 및 DevOps 통합
Jenkins(Jobs 및 Pipelines)와 통합
GitHub 및 GitHub Actions와 통합
GitLab 및 GitLab CI/CD와 통합
CI/CD 워크플로우에서 품질 검사 자동화
SonarQube 품질 게이트에 따른 CI/CD 파이프라인 실패 처리
심화 주제
자동화, 모니터링 및 데이터 추출을 위한 SonarQube Web API 사용
엔터프라이즈급 SonarQube 배포를 위한 모범 사례
이 과정을 마치면 다음을 수행할 수 있습니다:
품질 게이트, 품질 프로필 및 규칙 정의 및 관리
SonarLint를 사용하여 로컬에서 코드 분석
안전하고 확장 가능한 정적 코드 분석 수행
SonarQube를 GitHub, GitLab 및 Jenkins와 통합
CI/CD 파이프라인 전반에 걸쳐 코드 품질 및 보안 표준 적용
SonarQube 인스턴스를 자신 있게 관리하고 커스터마이징