백그라운드 태스크
SQ Official Doc Link: https://docs.sonarqube.org/display/SONAR/Background+Tasks
다음은 백그라운드 태스크(Background Task)가 될 수 있습니다:
- 분석 보고서(Analysis Report) 임포트
- 포트폴리오(Portfolios) 연산 실행
- 프로젝트 Import/Export 실행
스캐너가 분석을 종료한 후 일어나는 일들
분석 작업은 관련된 Background Task가 종료된 이후 완료됩니다. SonarQube Scanner의 로그에 EXECUTION SUCCESS
가 표시되더라도, 분석 결과는 Background Task가 종료된 이후 SonarQube UI에 표시됩니다. SonarQube Scanner가 코드 분석을 완료한 뒤, 분석 결과(소스 코드, 이슈 및 각종 지표 등) --분석 보고서--가 SonarQube 서버로 전달되고, 이후 Compute Engine이 최종 처리를 수행합니다.
프로젝트 레벨에서 처리 대기 중인 분석 보고서가 존재하는 경우, 프로젝트 화면 상단에 "대기 중(Pending)" 문구가 표시됩니다:
시스템 관리자는 Administration > Projects > Background Tasks 메, 프로젝트 관리자는 Administration > Background Tasks 메뉴를 통해 현재 대기열의 분석 보고서를 확인할 수 있습니다:
Background Task가 성공적으로 처리되면, 움직이는 "wait" 아이콘이 리스트에 표시됩니다.
분석 보고서 처리 실패 확인하기
일반적인 경우 Backgound Tasks들은 대부분 성공하지만, 일부 예상치 못한 환경의 경우 처리에 실패할 수 있습니다:
- 대규모의 프로젝트 분석 보고서를 처리하는 도중 메모리 부족 상황 발생시
- 하나의 보고서에서 기 존재하는 모듈이나 프로젝트 사이의 키 값 충돌 시
- ...
처리 실패 상태는 프로젝트 홈페이지에 표시되나, 이는 사용자가 직접 확인을 해야하는 번거로움이 있습니다. Background task가 실패하는 경우 이메일 알림을 받을 수 있습니다. 개인 프로파일의 Notifications 섹션에서 알림 설정을 수행할 수 있습니다.
실패한 백그라운드 태스크 분석하기
분석 보고서의 드롭 다운 메뉴를 사용해 "Scanner Context"에 접속할 수 있습니다. 이 페이지는 코드 스캐닝 수행 시점의 Scanner 환경 설정 정보를 표시합니다.
분석이 실패하는 경우, 해당 드롭다운 메뉴의 "Show Error Details"를 클릭해 Background Task 처리 실패와 관련된 기술적인 세부 내용을 확인할 수 있습니다.
대기 중인 분석 리포트 취소하기
다음의 방법으로 태스크 처리를 취소할 수 있습니다:
- 대기 중 상태인 태스크 목록의 'x; 버튼을 클릭합니다. 해당 태스크의 처리를 취소합니다.
- 대기 중 상태인 태스크 목록의 'bulk cancel'을 클릭합니다. 대기 중 상태인 모든 태스크의 처리를 취소합니다.
Backgound Tasks를 Pending, Success, Failed 및 Canceled 기준에 따라 필터링할 수 있습니다.
"Only Latest Analysis" 버튼을 클릭하면, 각 프로젝트의 가장 최근 분석 리포트만을 표시합니다.
페이지 상단에는 2개 혹은 3개의 카운터를 표시합니다:
- pending - 대기열에서 처리 대기중인 분석 보고서의 수를 표시합니다.
- failures - 가장 최근 분석 보고서 처리에 실패한 프로젝트의 수를 표시합니다
- duration-to-date of the task - 분석 보고서를 처리하는 동안 소요된 시간을 표시합니다.
© 2017-2018 Moses Kim.
별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.
::: SonarQube 관련 문의 : 이메일 :::