본문으로 건너뛰기
버전: 1.0.3

4.3. 빌드 이력 확인

어떨 때 보는가

  • 빌드가 성공했는지 확인할 때
  • 빌드가 실패한 이유를 찾을 때
  • 어떤 이미지가 언제 만들어졌는지 거슬러 볼 때

빌드는 파드로 돈다

빌드는 별도 서버가 아니라 클러스터 안에서 파드로 실행됩니다.

이 점을 알아 두면 문제 원인을 짐작하기 쉽습니다.

겪는 문제파드와 같은 원인
빌드가 시작되지 않음노드에 자원이 없거나 네임스페이스 한도에 걸림 (8.1 장)
빌드가 중간에 죽음메모리 상한 초과 (OOMKilled)
이미지를 못 가져옴빌더 이미지 pull 실패
오래 걸림노드가 바쁘거나 캐시가 없음

빌드 파드는 끝나면 정리되지만, 결과와 로그는 빌드 자원에 남습니다.

빌드 목록

빌드 > 빌드 이력 로 들어가면 지금까지 실행한 빌드가 나옵니다.

빌드 목록
설명
이름빌드 설정 이름 뒤에 실행 번호가 붙습니다
네임스페이스속한 네임스페이스
상태빌드 진행 상태
시작 시각빌드를 시작한 시각
소요 시간빌드에 걸린 시간

소요 시간이 평소보다 길어지면 의존 라이브러리를 새로 받고 있거나 빌드 자원이 모자란 경우가 많습니다. 캐시 볼륨을 붙이면 줄어듭니다(4.2 장).

빌드 상태

상태다음에 할 일
Pending시작을 기다리는 중오래 머물면 자원 한도를 확인합니다
Running빌드 진행 중로그를 실시간으로 볼 수 있습니다
Complete성공. 이미지가 레지스트리에 올라갔습니다배포합니다
Failed실패로그에서 원인을 확인합니다
Cancelled사용자가 취소했습니다

진행 중인 빌드는 상태 뱃지에 회전 표시가 붙습니다(1.2 장).

빌드 상세

빌드 이름을 누르면 상세 화면이 열립니다.

빌드 상세
구역무엇을 알 수 있는가
메타데이터어떤 빌드 설정에서 나온 몇 번째 빌드인지
소스실제로 가져온 저장소, 브랜치, 커밋
결과만들어진 이미지 이름과 태그
상태시작·종료 시각, 소요 시간
로그빌드 전체 출력

소스의 커밋 값 을 확인하면 이 이미지가 어느 시점의 코드로 만들어졌는지 알 수 있습니다. "배포했는데 수정한 내용이 없다" 는 경우 이 값을 먼저 보십시오. 브랜치는 맞는데 커밋이 옛 것이면 소스를 올리지 않은 것입니다.

빌드 로그 읽는 법

로그는 단계별로 이어집니다. 실패한 단계를 먼저 찾으면 원인이 좁혀집니다.

순서단계여기서 실패하면
1소스 가져오기저장소 주소·브랜치·인증
2빌더 이미지 준비빌더 이미지를 못 가져옴
3컴파일소스 오류, 의존 라이브러리
4이미지 만들기빌드 스크립트 오류
5레지스트리에 올리기인증 정보, 프로젝트 권한

3단계 컴파일 실패가 가장 흔합니다. 이때 로그에는 컴파일러가 낸 오류가 그대로 나옵니다. Kubernetes 문제가 아니라 소스 문제이므로 개발 환경에서 먼저 빌드해 보십시오.

5단계 실패는 UNAUTHORIZEDdenied 로 나타납니다. 인증 Secret 의 계정과 그 계정의 레지스트리 프로젝트 권한을 확인하십시오(3.4 장).

로그가 길면 내려받기 로 파일로 저장해 검색하십시오. 브라우저에서 찾기보다 빠릅니다.

빌드가 도는 동안에도 로그가 실시간으로 이어집니다. 오래 걸리는 빌드는 어느 단계에 머물러 있는지 여기서 확인합니다.

이미지가 어디로 갔는지 확인

빌드가 성공하면 이미지는 레지스트리에 있습니다. Console 에서는 이미지 목록을 볼 수 없습니다.

확인할 것어디에서
이미지 이름과 태그빌드 상세의 결과
그 이미지가 레지스트리에 있는지Harbor (9.3 장)
지금 배포된 이미지배포 상세의 컨테이너 (3.2 장)

다시 실행과 취소

하고 싶은 일방법
같은 설정으로 다시 빌드상세 화면의 다시 실행 버튼
진행 중인 빌드 중단상세 화면의 취소 버튼

일시적인 네트워크 오류로 실패했다면 다시 실행만으로 성공하는 경우가 많습니다. 같은 오류가 반복되면 설정을 확인하십시오.

취소한 빌드는 이미지를 만들지 않습니다. 이미 레지스트리에 올라간 뒤에 취소하면 이미지는 남습니다.

기록 정리

빌드 기록이 쌓이면 목록에서 찾기 어려워집니다. 빌드 설정마다 보관 개수가 정해져 있어 그 수를 넘으면 오래된 것부터 자동으로 지워집니다(기본 20건).

빌드 기록을 지워도 이미 레지스트리에 올라간 이미지는 남아 있습니다. 이미지 정리는 레지스트리(Harbor)에서 따로 합니다.