빌드 로그 저장 및 관리

빌드를 실행하면 Cloud Build가 빌드 로그를 수집하고 저장합니다. 이 페이지에서는 빌드 로그를 저장, 확인, 삭제하는 방법을 설명합니다.

빌드 로그를 저장할 위치 선택

Cloud Build 구성 파일logging 필드를 포함하여 Cloud Build에서 Cloud Logging이나 Cloud Storage에 빌드 로그를 저장하도록 구성할 수 있습니다. 빌드 구성 파일에 logging 필드를 지정하지 않으면 Cloud Build에서 Logging과 Cloud Storage 모두에 빌드 로그를 저장합니다.

다음 단계에서는 빌드 로그를 Logging에만 저장합니다.

  1. 빌드 구성 파일에서 loggingMode 값을 CLOUD_LOGGING_ONLY로 설정합니다.

    YAML

    steps:
    - name: 'gcr.io/cloud-builders/docker'
      args: ['build', '-t', 'gcr.io/myproject/myimage', '.']
    options:
      logging: CLOUD_LOGGING_ONLY
    

    JSON

    {
      "steps": [
      {
        "name": "gcr.io/cloud-builders/docker",
        "args": [
          "build",
          "-t",
          "gcr.io/myproject/myimage",
          "."
        ]
      }
      ],
      "options": {
        "logging": "CLOUD_LOGGING_ONLY"
      }
    }
    
  2. 빌드 구성 파일을 사용하여 명령줄, API 또는 트리거를 사용해 빌드를 시작합니다.

Google에서 만든 기본 버킷에 빌드 로그 저장

기본적으로 Cloud Build는 Google에서 만든 Cloud Storage 버킷에 빌드 로그를 저장합니다. Google에서 만든 Cloud Storage 버킷에 저장된 빌드 로그를 볼 수 있지만 변경할 수는 없습니다. 로그 버킷에 대한 전체 제어 권한이 필요하면 로그를 사용자가 만든 Cloud Storage 버킷에 저장합니다.

사용자가 만든 버킷에 빌드 로그 저장

IAM 권한:

고유 Cloud Storage 버킷에 빌드 로그를 저장하려면 먼저 Cloud Build 서비스 계정 또는 사용자 지정 서비스 계정에 대해 필요한 IAM 권한을 부여해야 합니다.

  • Cloud Storage 버킷과 Cloud Build가 같은 Cloud 프로젝트에 있고 Cloud Build 서비스 계정을 사용하고 있으면 Cloud Build 서비스 계정에 기본적으로 필요한 IAM 권한이 있습니다. 추가 권한은 부여할 필요가 없습니다.

  • Cloud Storage 버킷과 Cloud Build가 같은 Cloud 프로젝트에 있고 사용자 지정 서비스 계정을 사용하고 있으면 스토리지 관리자 역할을 서비스 계정에 부여합니다. 서비스 계정에 역할을 부여하는 방법은 프로젝트에 역할 부여를 참조하세요.

  • Cloud Storage 버킷과 Cloud Build가 다른 Cloud 프로젝트에 있는 경우 Cloud Build 서비스 계정스토리지 관리자 역할을 부여합니다.

    1. IAM 페이지 열기:

      IAM 페이지 열기

    2. Cloud Build를 사용하여 빌드를 실행하는 프로젝트를 선택합니다.

    3. 권한 테이블에서 @cloudbuild.gserviceaccount.com으로 끝나는 이메일 주소를 찾아서 기록해 둡니다. 이것이 사용자의 Cloud Build 서비스 계정입니다.

    4. Cloud Storage 버킷이 있는 프로젝트에서 IAM 페이지를 엽니다.

      IAM 페이지 열기

    5. 추가를 클릭합니다.

    6. Cloud Build 서비스 계정의 이메일 주소를 입력합니다.

    7. Cloud Storage > 스토리지 관리자를 선택합니다.

    8. 저장을 클릭합니다.

빌드 로그 저장을 위해 Cloud Storage 버킷을 지정하려면 다음 안내를 따르세요.

  1. 클라우드 프로젝트에서 빌드 로그를 저장할 Cloud Storage 버킷을 만듭니다.

  2. 빌드 구성 파일에서 빌드 로그를 저장하기 위해 만든 Cloud Storage 버킷을 가리키는 logsBucket 필드를 추가합니다. 다음 예시의 빌드 구성 파일에는 컨테이너 이미지를 빌드하고 빌드 로그를 이름이 mylogsbucket인 버킷에 저장하는 지침이 포함되어 있습니다.

    YAML

        steps:
        - name: 'gcr.io/cloud-builders/docker'
          args: [ 'build', '-t', 'gcr.io/myproject/myimage', '.' ]
        logsBucket: 'gs://mylogsbucket'
    

    JSON

        {
          "steps": [
           {
             "name": "gcr.io/cloud-builders/docker",
             "args": [
               "build",
               "-t",
               "gcr.io/myproject/myimage",
               "."
             ]
           }
           ],
           "logsBucket": "gs://mylogsbucket"
        }
    
  3. 빌드 구성 파일을 사용하여 명령줄, API 또는 트리거를 사용해 빌드를 시작합니다.

빌드가 완료되면 Cloud Build가 빌드 구성 파일에 지정된 Cloud Storage 버킷에 로그를 저장합니다.

빌드 로그 보기

IAM 권한:

  • 빌드 로그가 Logging에 있는 경우 빌드가 구성된 프로젝트에 대한 로그 뷰어 역할을 빌드 로그를 보려는 주 구성원에게 부여합니다.

    1. IAM 페이지 열기:

      IAM 페이지 열기

    2. 프로젝트를 선택하고 열기를 클릭합니다.

    3. 권한 테이블에서 주 구성원의 이메일 ID를 찾고 연필 아이콘을 클릭합니다.

    4. Logging > 로그 뷰어 역할을 선택합니다.

    5. 저장을 클릭합니다.

  • 빌드 로그가 Google에서 만든 기본 Cloud Storage 버킷에 있으면 빌드가 구성된 프로젝트에 대한 프로젝트 뷰어 역할을 빌드 로그를 보려는 주 구성원에게 부여합니다.

    1. IAM 페이지 열기:

      IAM 페이지 열기

    2. 프로젝트를 선택하고 열기를 클릭합니다.

    3. 권한 테이블에서 주 구성원의 이메일 ID를 찾고 연필 아이콘을 클릭합니다.

    4. 프로젝트 > 뷰어 역할을 선택합니다.

    5. 저장을 클릭합니다.

    빌드 로그가 사용자가 지정한 Cloud Storage 버킷에 있으면 빌드 로그를 보려는 주 구성원에게 스토리지 객체 뷰어 역할을 부여합니다.

    1. IAM 페이지 열기:

      IAM 페이지 열기

    2. 프로젝트를 선택하고 열기를 클릭합니다.

    3. 권한 테이블에서 주 구성원의 이메일 ID를 찾고 연필 아이콘을 클릭합니다.

    4. Cloud Storage > 스토리지 객체 뷰어 역할을 선택합니다.

    5. 저장을 클릭합니다.

빌드 로그를 보려면 다음 안내를 따르세요.

Console

  1. Google Cloud Console에서 Cloud Build 페이지를 엽니다.

    Cloud Build 페이지 열기

  2. 프로젝트를 선택하고 열기를 클릭합니다.

  3. 빌드 기록 페이지에서 특정 빌드를 클릭합니다.

  4. 빌드 세부정보 페이지의 단계 아래에서 빌드 요약을 클릭하여 전체 빌드에 대한 빌드 로그를 보거나 특정 빌드 단계를 클릭하여 해당 단계에 대한 빌드 로그를 볼 수 있습니다.

    빌드 세부정보 페이지의 빌드 로그 스크린샷

gcloud

gcloud builds log 명령어를 실행합니다. 여기서 build-id는 빌드 로그를 가져오려는 빌드 ID입니다. 빌드 ID는 gcloud builds submit을 실행할 때 빌드 제출 프로세스의 마지막에 또는 gcloud builds list를 실행할 때 ID 열에 표시됩니다.

gcloud builds log build-id

빌드 로그 삭제

Google에서 만든 로그 버킷의 빌드 로그는 삭제할 수 없습니다.

사용자가 만든 로그 버킷의 빌드 로그를 삭제하려면 다음 안내를 따르세요.

  1. 스토리지 객체 관리자 역할을 로그를 삭제할 사용자 또는 서비스 계정에 부여합니다.

  2. Cloud Storage 객체를 삭제하려면 객체 삭제의 안내에 따라 빌드 로그를 삭제합니다.

사용자가 만든 로그 버킷을 삭제하려면 다음 안내를 따르세요.

  1. 로그 버킷을 삭제하는 사용자 또는 서비스 계정에 스토리지 관리자 역할을 부여합니다.

  2. 버킷을 삭제하려면 버킷 삭제의 안내에 따라 로그 버킷을 삭제합니다.

다음 단계