Cloud Logging 및 Cloud Storage 도구를 사용하여 빌드 로그를 그룹화하고 분석할 수 있도록 로그 버킷에 빌드 로그를 저장하도록 빌드 구성 파일을 설정합니다. 빌드 로그 스토리지를 구성하면 로그의 저장 및 분석을 더 효과적으로 제어할 수 있습니다. 빌드 로그 스토리지 설정을 정의하지 않은 상태로 두면 Cloud Build는 빌드 로그 분석 옵션이 적은 Google Google Cloud-소유 버킷에 빌드 로그를 저장합니다.
이 페이지에서는 다양한 유형의 버킷에 빌드 로그를 저장하는 방법과 저장된 로그를 보고 삭제하는 방법을 설명합니다.
시작하기 전에
빌드 로그 스토리지를 구성하기 위한 빌드 구성 파일 옵션과 버킷 소유권이 로그 접근성에 미치는 영향을 잘 알고 있어야 합니다. 자세한 내용은 빌드 로그 스토리지 옵션을 참조하세요.
사용자가 만든 버킷에 빌드 로그 저장
사용자가 만든 버킷을 사용하면 버킷 관리 및 구성을 더 효과적으로 제어할 수 있습니다.
을 참조하세요.사용자가 만든 Cloud Logging 버킷에 빌드 로그 저장
사용자가 만든 Logging 버킷을 사용하면 저장된 빌드 로그의 보관 기간을 조정할 수 있습니다. Logging에서 사용자가 만든 버킷에 빌드 로그를 저장하려면 다음 단계를 따르세요.
IAM 권한 부여:
사용자가 만든 Cloud Logging 버킷에 빌드 로그를 저장하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트의 계정 또는 서비스 계정에 대한 로그 구성 작성자 (roles/logging.configWriter) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Logging 버킷 구성:
버킷을 만들고 값을 설정합니다. 보관 기간 필드의
싱크를 만들어 빌드 로그를 새 버킷으로 라우팅합니다.
싱크의 빌드 포함 필터에 다음을 입력합니다.
logName = "projects/PROJECT_ID/logs/cloudbuild"PROJECT-ID를 Google Cloud 프로젝트 ID로 바꿉니다.
(선택사항) 빌드 로그가 기본 Logging 버킷으로 이동하지 않도록 하려면 로그 버킷에 로그 항목 저장을 중지하는 예시를 따르세요.
사용자가 만든 Cloud Storage 버킷에 빌드 로그 저장
사용자가 만든 Cloud Storage 버킷에 빌드 로그를 저장하려면 다음 단계를 따르세요.
IAM 권한 부여:
Cloud Storage 버킷과 Cloud Build가 동일한 프로젝트에 있고 Cloud Build 기존 서비스 계정을 사용하고 있으면 기본적으로 Cloud Build 기존 서비스 계정에 필요한 IAM 권한이 있습니다. Google Cloud 추가 권한을 부여할 필요가 없습니다. 그렇지 않은 경우에는 다음 단계를 따라야 합니다.
사용자가 만든 Cloud Storage 버킷에 빌드 로그를 저장하는 데 필요한 권한을 얻으려면 관리자에게 빌드에 사용되는 서비스 계정에 대한 스토리지 관리자 (roles/storage.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Cloud Storage 버킷 구성:
프로젝트에서 빌드 로그를 저장하도록 보관 정책을 설정하지 않은 상태에서 Cloud Storage 버킷을 생성합니다. Google Cloud
빌드 구성 파일에서 빌드 로그를 저장하기 위해 만든 Cloud Storage 버킷을 가리키는
logsBucket필드를 추가합니다. 다음 예시의 빌드 구성 파일에는 컨테이너 이미지를 빌드하고 빌드 로그를 이름이mylogsbucket인 버킷에 저장하는 지침이 포함되어 있습니다.YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-east1-docker.pkg.dev/myproject/myimage', '.' ] logsBucket: 'gs://mylogsbucket' options: logging: GCS_ONLYJSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-east1-docker.pkg.dev/myproject/myimage", "." ] } ], "logsBucket": "gs://mylogsbucket", "options": { "logging": "GCS_ONLY" } }
빌드가 완료되면 Cloud Build가 빌드 구성 파일에 지정된 Cloud Storage 버킷에 빌드 로그를 저장합니다.
리전별 Cloud Storage 버킷에 빌드 로그 저장
Cloud Build가 빌드와 동일한 리전에 있는 사용자 소유 Cloud Storage 버킷으로 빌드 로그를 보내도록 빌드를 구성할 수 있습니다. 빌드 및 빌드 로그 스토리지 버킷의 리전을 정렬하면 데이터 상주 요구사항을 준수하는 데 도움이 됩니다.
IAM 권한 부여:
Cloud Storage 버킷과 Cloud Build가 동일한 프로젝트에 있고 Cloud Build 기존 서비스 계정을 사용하고 있으면 해당 서비스 계정에 기본적으로 필요한 IAM 권한이 있습니다. Google Cloud 추가 권한을 부여할 필요가 없습니다. 그렇지 않은 경우에는 다음 단계를 따라야 합니다.
사용자 소유의 리전별 버킷에 빌드 로그를 저장하는 데 필요한 권한을 얻으려면 관리자에게 빌드에 사용되는 서비스 계정에 대한 스토리지 관리자 (roles/storage.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
리전별 Cloud Storage 버킷 구성:
빌드 구성 파일에서
defaultLogsBucketBehavior옵션을 추가하고 값을REGIONAL_USER_OWNED_BUCKET으로 설정합니다.YAML
steps: - name: 'gcr.io/cloud-builders/docker' args: [ 'build', '-t', 'us-central1-docker.pkg.dev/myproject/myrepo/myimage', '.' ] options: defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKETJSON
{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-central1-docker.pkg.dev/myproject/myrepo/myimage", "." ] } ], "options": { "defaultLogsBucketBehavior": "REGIONAL_USER_OWNED_BUCKET" } }빌드 구성 파일을 사용하여 빌드를 시작합니다 명령줄, API 또는 트리거를 사용합니다.
빌드를 실행하면 Cloud Build가 빌드를 실행하는 리전에 새 버킷을 만들고 이 버킷에 빌드 로그를 저장합니다. 동일한 프로젝트와 리전의 추가 빌드는
REGIONAL_USER_OWNED_BUCKET이 활성 상태인 한 기존 버킷을 사용합니다. 이 버킷은 사용자 소유이므로 사용자가 만든 버킷인 것처럼 구성할 수 있습니다.REGIONAL_USER_OWNED_BUCKET옵션을 설정하고 여러 리전에서 빌드를 만들면 Cloud Build는 고유한 각 리전에 대해 Cloud Storage 버킷을 만듭니다.
빌드의 리전과 로그 버킷을 정렬해야 하는 경우 사용자가 만든 버킷을 사용할 수도 있습니다. 이 경우 동일한 리전이 있는 기존 사용자가 만든 버킷을 선택하거나 버킷을 만들 수 있습니다. 버킷을 만들려면 사용자가 만든 버킷에 빌드 로그 저장 단계를 따르고 사용자가 만든 버킷이 빌드와 동일한 리전에 있는지 확인합니다.
빌드 로그 보기
빌드 로그를 보려면 다음 단계를 따르세요.
IAM 권한 부여:
Cloud Storage 또는 로깅에서 빌드 로그를 보는 데 필요한 권한을 얻으려면 관리자에게 빌드에 사용되는 서비스 계정에 다음 IAM 역할을 부여해 달라고 요청하세요.
-
사용자가 만들거나 사용자가 소유한 Cloud Storage 버킷에서 빌드 로그 보기:
- 스토리지 객체 뷰어 (
roles/storage.objectViewer) - 빌드 로그를 보려는 주 구성원 - 로그 뷰 접근자 (
roles/logging.viewAccessor) - 빌드 로그를 보려는 주 구성원
- 스토리지 객체 뷰어 (
-
기본 Cloud Storage 버킷에서 빌드 로그 보기:
뷰어 (
roles/viewer) - 빌드가 구성된 프로젝트 -
Logging에서 빌드 로그 보기:
로그 뷰어 (
roles/logging.viewer) - 빌드 로그를 보려는 주 구성원
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
에서 빌드 로그 보기 Google Cloud
콘솔
콘솔에서 Cloud Build 페이지를 엽니다. Google Cloud
프로젝트를 선택하고 열기 를 클릭합니다.
리전 드롭다운 메뉴에서 빌드의 리전을 선택합니다.
빌드 기록 페이지에서 특정 빌드를 선택합니다.
빌드 세부정보 페이지의 단계 아래에서 빌드 요약을 클릭하여 전체 빌드에 대한 빌드 로그를 보거나 빌드 단계를 선택하여 해당 단계에 대한 빌드 로그를 볼 수 있습니다.
빌드 로그가 Logging에 저장되어 있으면 빌드 로그 패널에서 아이콘을 클릭하여 로그 탐색기에서 로그를 확인합니다.
gcloud
gcloud builds log 명령어를 실행합니다. 여기서 build-id는 빌드 로그를 가져오려는 빌드의 ID입니다. 빌드 ID는 gcloud builds submit을 실행할 때 빌드 제출 프로세스의 마지막에 또는 gcloud builds list를 실행할 때 ID 열에 표시됩니다.
gcloud builds log build-id
GitHub 및 GitHub Enterprise에서 빌드 로그 보기
gcloud CLI 또는 Cloud Build API를 사용하여 GitHub
또는 GitHub Enterprise
트리거를 만들고 --include-logs-with-status를 옵션으로 지정하면
GitHub 및 GitHub Enterprise에서 빌드 로그를 볼 수 있습니다.
GitHub 및 GitHub Enterprise에서 빌드 로그를 보려면 다음 단계를 따르세요.
트리거와 연결된 저장소로 이동합니다.
커밋 목록으로 이동합니다.
빌드 로그를 보려는 커밋의 행을 찾습니다.
커밋 행에서 결과 아이콘을 클릭합니다.
커밋과 연결된 검사 목록이 표시됩니다.
빌드 로그를 보려는 행의 세부정보 를 클릭합니다.
커밋과 연결된 요약 페이지가 표시됩니다.
--include-logs-with-status플래그를 사용하여 트리거를 만든 경우 페이지의 세부정보 섹션 아래에 빌드 로그가 표시됩니다.
빌드 로그 및 버킷 삭제
Cloud Storage에서 빌드 로그 및 버킷을 삭제하는 데 필요한 권한을 얻으려면 관리자에게 빌드에 사용되는 서비스 계정에 다음 IAM 역할을 부여해 달라고 요청하세요.
-
사용자가 만들거나 사용자가 소유한 Cloud Storage 버킷에서 빌드 로그 삭제:
스토리지 관리자 (
roles/storage.admin) - 빌드 로그를 삭제하는 사용자 또는 서비스 계정 -
사용자가 만들거나 사용자가 소유한 Cloud Storage 버킷 삭제:
스토리지 관리자 (
roles/storage.admin) - 버킷을 삭제하는 사용자 또는 서비스 계정 -
사용자가 만든 Logging 버킷 삭제:
로그 구성 작성자 (
roles/logging.configWriter) - 프로젝트
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
사용자가 만들거나 사용자가 소유한 Cloud Storage 버킷에서 빌드 로그를 삭제하려면 Cloud Storage 문서의 객체 삭제 안내를 따르세요.
사용자가 만들거나 사용자가 소유한 Cloud Storage 버킷을 삭제하려면 Cloud Storage 문서의 버킷 삭제 안내를 따르세요.
사용자가 만든 Logging 버킷을 삭제하려면 Logging 문서의 버킷 삭제 안내를 따르세요.
다음 단계
- Cloud Build에서 만든 감사 로그 알아보기
- 빌드 결과를 확인하는 방법 알아보기
- Cloud Build IAM 권한 자세히 알아보기