개요
Code Analysis는 두 가지 방법으로 GitHub 풀 요청과 통합됩니다.
위반 사항을 표시하는 풀 요청 코멘트: GitHub에서 코드 리뷰가 진행되는 동안 Datadog은 하나 이상의 규칙 세트가 적용된 리포지토리의 풀 요청에서 Static Analysis 위반 사항을 자동으로 확인할 수 있습니다. 위반 사항은 해당 코드 줄에 인라인 리뷰 코멘트와 함께 표시되며, 풀 요청에 직접 적용할 수 있는 수정 사항(해당하는 경우)도 함께 제시됩니다. 이 기능은 Static Analysis(SAST)에서만 사용할 수 있습니다.
Datadog에서 직접 문제 해결을 위한 풀 요청 생성: Datadog에서 제안하는 코드 수정 사항을 기반으로 보안 취약점이나 코드 품질 문제를 해결하기 위한 풀 요청를 UI에서 생성할 수 있습니다. 이 기능은 Static Analysis(SAST)에서만 사용할 수 있습니다.
이러한 기능을 사용하려면 리포지토리에 필요한 GitHub 권한(Read & Write)이 있는지 확인하세요.
GitHub 풀 요청의 Code Analysis 설정
Datadog Code Analysis 활성화
Datadog Code Analysis를 사용하려면 설치 지침에 설명된 대로 적절한 구성 파일을 리포지토리에 추가하세요.
GitHub 앱 구성
GitHub에서 Code Analysis를 사용하려면 다음 중 하나를 선택하세요.
- Datadog에서 GitHub 앱을 만듭니다.
- Datadog에 이미 GitHub 앱을 만들었다면 기존 GitHub 앱을 업데이트합니다.
GitHub 앱에 부여한 권한에 따라 설정할 수 있는 GitHub 통합 기능이 결정됩니다.
GitHub 앱 생성 및 설치
- Datadog에서 Integrations > GitHub Applications > Add New GitHub Application으로 이동합니다.
- GitHub 조직 이름 등 필요한 세부 정보를 입력합니다.
- Select Features에서 Code Analysis: Pull Request Review Comments 항목을 체크합니다.
- Edit Permissions에서 Pull Requests 권한이 Read & Write로 설정되어 있는지 확인합니다.
- Create App in GitHub를 클릭합니다.
- 앱 이름을 입력하고 제출합니다.
- Install GitHub App을 클릭합니다.
- 앱을 설치할 리포지토리를 선택한 다음 Install & Authorize를 클릭합니다.
기존 GitHub App 업데이트
- Datadog에서 Integrations > GitHub Applications로 이동하여 Code Analysis에 사용할 GitHub 앱을 검색합니다.
- Features 탭에서 Code Analysis: Pull Request Comments 섹션을 확인하여 GitHub 앱에 추가 권한이 필요한지 확인합니다. 필요한 경우Update permissions in GitHub*를 클릭하여 앱 설정을 수정합니다.
- Repository permissions에서 Pull Requests 액세스를 Read and write로 설정합니다.
- Subscribe to events 제목 아래 Pull request 옵션을 체크합니다.
리포지토리의 Code Analysis PR 코멘트 활성화
- Datadog에서 CI Settings > Code Analysis Settings로 이동합니다.
- GitHub Comments를 활성화하려면 해당 리포지토리 옆에 있는 토글 스위치를 클릭합니다. 아래 예시에서는 해당
demo-static-analysis-gates 리포지토리에 관한 코멘트 기능이 활성화되어 있습니다.
참고: GitHub Actions를 사용하여 스캔을 실행하는 경우 코멘트가 나타나도록 push 작업을 트리거하세요.
Datadog에서 직접 취약점 수정
GitHub 앱의 Pull Requests 권한이 Read & Write으로 설정된 경우, Static Analysis 결과의 원클릭 수정이 활성화되며 사용 가능한 수정 제안 사항을 함께 확인할 수 있습니다.
다음 단계에 따라 취약점을 수정하고 풀 리퀘스트를 엽니다.
- Code Analysis에서 특정 결과를 확인합니다.
- 결과 사이드 패널의 Fix Violation을 클릭하빈다.
- Open a Pull Request를 선택합니다.
- 풀 리퀘스트 타이틀과 커밋 메시지를 입력합니다.
- Create PR을 클릭합니다.
결과가 발견된 브랜치에 직접 커밋하여 취약점을 수정할 수도 있습니다.
제안 수정안을 커밋하는 방법
- Code Analysis에서 특정 결과를 확인합니다.
- 결과 사이드 패널의 Fix Violation을 클릭합니다.
- Commit to current branch를 클릭합니다.
참고 자료