로그가 문제를 해결하기에 충분하지 않은 경우 추가 정보를 얻고 로그를 더 유용하게 만들기 위해 수행할 수 있는 몇 가지 단계가 있습니다.
단계 디버그 로깅 활성화
단계별 디버그 로깅은 실행 중 및 실행 후 작업 로그의 상세 수준을 증가시킵니다.
단계 디버그 로깅을 사용하도록 설정하려면 다음을 수행합니다.
- 워크플로가 포함된 리포지토리에서 다음 비밀 또는 변수 를 로 설정합니다. 비밀과 변수가 모두 설정된 경우 비밀 값이 변수보다 우선합니다.
- 워크플로를 다시 실행하거나 새 실행을 트리거합니다.
비밀 또는 변수를 설정하면 더 많은 디버그 이벤트가 단계 로그에 표시됩니다. AUTOTITLE을(를) 참조하세요.
컨텍스트를 사용하여 디버그 로깅이 활성화되어 있는 경우에만 조건부로 단계를 실행할 수 있습니다. AUTOTITLE을(를) 참조하세요.
CodeQL 디버깅 아티팩트 만들기
경고
CodeQL 디버깅 아티팩트에는 CodeQL에서 분석되는 소스 코드의 복사본이 포함되어 있으므로 해당 소스 코드에 액세스할 권한이 있는 사용자와만 이 번들을 공유하는 것이 좋습니다.
CodeQL을 디버그하는 데 도움이 되는 아티팩트를 가져올 수 있습니다. 디버그 아티팩트가 워크플로 실행 시 이름이 로 시작하는 아티팩트로 업로드됩니다. CodeQL에서 워크플로 실행의 일부로 여러 언어를 동시에 분석하는 경우, 각 언어마다 하나의 아티팩트가 생성됩니다. 데이터에는 CodeQL 로그, CodeQL 데이터베이스, 추출된 소스 코드 파일 및 워크플로에서 생성된 SARIF 파일이 포함됩니다. CodeQL 아티팩트 다운로드에 대한 자세한 내용은 AUTOTITLE 내용을 참조하세요.
이러한 아티팩트는CodeQL code scanning으로 문제를 디버그하는 데 도움이 됩니다. GitHub 지원에 문의하면 이 데이터를 요청할 수도 있습니다.
CodeQL 기본 설정에 대한 CodeQL 디버깅 아티팩트 만들기
예를 들어 끌어오기 요청 분기에 새 커밋을 푸시하여 단계 디버그 로깅을 사용하도록 설정하고(단계 디버그 로깅 사용 참조) 새 CodeQL 분석을 트리거하여 CodeQL 디버깅 아티팩트를 만들 수 있습니다.
프라이빗 레지스트리에 CodeQL 액세스를 부여한 경우, 이름이 로 시작하는 추가 아티팩트를 사용할 수 있습니다. 여기에는 CodeQL 기본 설정에서 프라이빗 레지스트리에 대한 요청을 인증하는 데 사용되는 인증 프록시의 로그가 포함되어 있으며 프라이빗 레지스트리 구성 문제를 해결하는 데 사용할 수 있습니다. 자세한 내용은 AUTOTITLE을(를) 참조하세요.
CodeQL 고급 설정에 대한 CodeQL 디버깅 아티팩트 만들기
CodeQL 고급 설정의 디버깅 아티팩트는 여러 방식으로 획득할 수 있습니다.
디버그 로깅을 사용하도록 설정된 작업 다시 실행
CodeQL의 고급 설정을 위한 디버깅 아티팩트를 만드는 가장 간단한 방법은 디버그 로깅이 활성화된 상태에서 작업을 다시 실행하는 것입니다. GitHub Actions 워크플로 및 작업을 다시 실행하는 방법에 대한 자세한 정보는 AUTOTITLE 내용을 참조하세요.
디버그 로깅 사용을 선택해야 합니다. 이 옵션은 다시 실행에 대한 실행기 진단 로깅 및 단계 디버그 로깅이 사용하도록 설정합니다. 그런 다음 CodeQL 디버깅 아티팩트를 다운로드하여 추가로 조사할 수 있습니다. 작업을 다시 실행하여 CodeQL 디버깅 아티팩트를 만들 때 워크플로 파일을 수정할 필요가 없습니다.
워크플로 플래그 사용
워크플로에서 플래그를 사용하여 CodeQL 디버깅 아티팩트를 만들 수 있습니다. 이를 위해서는 CodeQL 분석 워크플로 파일의 단계를 수정하고 로 설정해야 합니다.
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
debug: true
GitHub Actions 단계별 디버그 로그 사용하기
GitHub Actions 단계 디버그 로깅을 사용하도록 설정하면 CodeQL도 디버깅 아티팩트를 생성하고 워크플로 실행의 일부로 업로드합니다. 지침은 단계 디버그 로깅 사용 설정을 참조하세요.