REST Resource: projects.locations.backends.builds

리소스: 빌드

특정 지점 코드베이스 참조 태그와 특정 시점에 백엔드를 위한 단일 빌드입니다. Artifact Registry 컨테이너 이미지, 이미지를 빌드한 Cloud Build 호출, 해당 이미지를 사용하는 Cloud Run 버전 등 여러 리소스를 캡슐화합니다.

JSON 표현
{
  "name": string,
  "displayName": string,
  "state": enum (State),
  "error": {
    object (Status)
  },
  "environment": string,
  "config": {
    object (Config)
  },
  "image": string,
  "source": {
    object (BuildSource)
  },
  "buildLogsUri": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string
}
필드
name

string

식별자. 빌드의 리소스 이름입니다.

형식:

projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.

displayName

string

선택사항입니다. 인간이 읽을 수 있는 이름입니다. 글자 수가 63자(영문 기준)로 제한됩니다.

state

enum (State)

출력 전용입니다. 빌드 상태입니다.

error

object (Status)

출력 전용입니다. FAILED 상태인 경우 빌드의 상태 및 사람이 읽을 수 있는 오류 메시지입니다.

environment

string

출력 전용입니다. 이 빌드가 생성되었을 때 백엔드의 환경 이름입니다.

config

object (Config)

선택사항입니다. 서비스의 추가 구성입니다.

image

string

출력 전용입니다. 이 빌드에 Cloud Run revision에서 사용하는 Artifact Registry 컨테이너 이미지 URI입니다.

source

object (BuildSource)

필수 항목입니다. 변경할 수 없습니다. 빌드의 소스입니다.

buildLogsUri

string

출력 전용입니다. 빌드 프로세스의 Cloud Build 로그 위치입니다.

reconciling

boolean

출력 전용입니다. true인 경우 빌드에 진행 중인 LRO가 있음을 나타내는 필드입니다.

createTime

string (Timestamp format)

출력 전용입니다. 빌드가 생성된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 빌드가 마지막으로 업데이트된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

deleteTime

string (Timestamp format)

출력 전용입니다. 빌드가 삭제된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

labels

map (key: string, value: string)

선택사항입니다. 객체를 구성하고 분류하는 데 사용할 수 있는 구조화되지 않은 키-값 맵입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

선택사항입니다. 임의의 메타데이터를 저장하기 위해 외부 도구에서 설정할 수 있는 구조화되지 않은 키-값 맵입니다. 쿼리할 수 없으며 객체를 수정할 때 보존해야 합니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

출력 전용입니다. 시스템에서 할당한 고유 식별자입니다.

etag

string

출력 전용입니다. 다른 값을 기반으로 서버에서 계산된 체크섬 예상된 리소스에서 작업이 완료되도록 업데이트 또는 삭제 시 전송될 수 있습니다.

빌드 상태입니다.

열거형
STATE_UNSPECIFIED 빌드가 알 수 없는 상태입니다.
BUILDING 빌드가 진행 중입니다.
BUILT 빌드가 완료되었으며 다음 단계를 기다리는 중입니다. App Hosting에서 인프라 설정을 시작하면 배포로 이동할 수 있습니다.
DEPLOYING 이 빌드를 위한 인프라를 설정하는 중입니다.
READY 이 빌드를 위한 인프라가 준비되었습니다. 빌드가 트래픽을 제공하고 있을 수도 있고 제공하지 않을 수도 있습니다. 현재 상태는 Backend.traffic을, 원하는 상태는 Backend.traffic_statuses을 참고하세요.
FAILED 빌드에 실패했습니다.

구성

이 빌드에 대한 백엔드의 추가 구성입니다.

JSON 표현
{
  "runConfig": {
    object (RunConfig)
  }
}
필드
runConfig

object (RunConfig)

선택사항입니다. Cloud Run service의 추가 구성입니다.

실행 구성

Cloud Run service에 적용할 추가 구성입니다.

JSON 표현
{
  "cpu": number,
  "memoryMib": integer,
  "concurrency": integer,
  "maxInstances": integer,
  "minInstances": integer
}
필드
cpu

number

선택사항입니다. 각 서빙 인스턴스에 사용된 CPU 수입니다.

기본적으로 cpu는 Cloud Run의 기본값인 1.0입니다.

CPU는 1, 2, 4, 6, 8개의 CPU로 설정할 수 있으며, 1개 미만의 CPU는 0.08~1.00 사이의 값을 0.01 단위로 설정할 수 있습니다.

CPU를 1개 미만으로 설정하는 경우 동시 실행을 1로 설정해야 하며 CPU는 요청 처리 중에만 할당됩니다.

CPU 한도를 늘리면 메모리 한도를 늘려야 할 수 있습니다.

  • CPU 4개: 최소 2GiB
  • CPU 6개: 최소 4GiB
  • CPU 8개: 최소 4GiB
memoryMib

integer

선택사항입니다. 각 제공 인스턴스에 할당된 메모리 양(MiB)

기본적으로 메모리는 각 인스턴스에 512MiB의 메모리가 할당되는 Cloud Run의 기본값으로 설정됩니다.

메모리는 128에서 32768 사이의 정수 값으로 설정할 수 있습니다.

메모리 한도를 늘리면 CPU 한도를 늘려야 할 수 있습니다.

  • 4GiB 초과: CPU 2개 이상
  • 8GiB 초과: CPU 4개 이상
  • 16GiB 초과: CPU 6개 이상
  • 24GiB 초과: CPU 8개 이상
concurrency

integer

선택사항입니다. 각 Cloud Run 인스턴스가 수신할 수 있는 최대 요청 수입니다.

기본적으로 각 인스턴스는 Cloud Run의 기본 요청인 최대 80개를 동시에 수신할 수 있습니다.

동시 실행은 최대 1,000의 정수 값으로 설정할 수 있습니다.

maxInstances

integer

선택사항입니다. 버전마다 최대로 유지할 Cloud Run 인스턴스 수입니다.

기본적으로 각 Cloud Run service은 Cloud Run의 기본값인 최대 100개의 인스턴스로 수평 확장됩니다. 최대 maxInstances 한도는 할당량을 기준으로 합니다. https://cloud.google.com/run/docs/configure/max-instances#limits를 참조하세요.

minInstances

integer

선택사항입니다. 각 Cloud Run 서비스에서 최소한 유지할 Cloud Run 인스턴스 수입니다.

기본적으로 최솟값은 없습니다.

서비스가 여러 버전에 걸쳐 트래픽을 분할하는 경우에도 서비스의 총 인스턴스 수는 이 값으로 제한됩니다.

빌드 소스

빌드의 소스입니다.

JSON 표현
{

  // Union field source can be only one of the following:
  "codebase": {
    object (CodebaseSource)
  },
  "container": {
    object (ContainerSource)
  }
  // End of list of possible types for union field source.
}
필드
통합 필드 source. 빌드의 입력 소스입니다. 일반적으로 소스 저장소의 커밋을 참조합니다. 컨테이너 이미지를 참조할 수도 있습니다. source은 다음 중 하나여야 합니다.
codebase

object (CodebaseSource)

코드베이스 소스

container

object (ContainerSource)

Artifact Registry 컨테이너 이미지 소스입니다.

코드베이스 소스

빌드가 생성될 코드베이스의 상태를 나타내는 코드베이스 소스입니다.

JSON 표현
{
  "displayName": string,
  "hash": string,
  "commitMessage": string,
  "uri": string,
  "author": {
    object (UserMetadata)
  },
  "commitTime": string,

  // Union field reference can be only one of the following:
  "branch": string,
  "commit": string
  // End of list of possible types for union field reference.
}
필드
displayName

string

출력 전용입니다. 빌드를 표시할 때 이 코드베이스에 사용할 사용자 친화적인 이름입니다. GitHub.com에서는 SHA-1 해시의 처음 8자를 사용합니다.

hash

string

출력 전용입니다. Git 커밋의 전체 SHA-1 해시입니다(사용 가능한 경우).

commitMessage

string

출력 전용입니다. 코드베이스 변경 메시지입니다.

uri

string

출력 전용입니다. 호스팅 제공업체 웹사이트의 코드베이스에 연결되는 URI입니다. 커밋이 연결된 저장소에서 리베이스되거나 강제 푸시된 경우에는 유효하지 않을 수 있습니다.

author

object (UserMetadata)

출력 전용입니다. 버전 제어 변경사항의 메타데이터에 포함된 작성자입니다.

commitTime

string (Timestamp format)

출력 전용입니다. 변경 시간

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

통합 필드 reference.

reference는 다음 중 하나여야 합니다.

branch

string

최신 커밋을 사용하여 빌드할 코드베이스의 브랜치입니다.

commit

string

빌드할 코드베이스의 커밋입니다.

UserMetadata

결정된 코드베이스와 연결된 사용자의 버전 제어 메타데이터입니다. 현재는 Git 사용자를 가정합니다.

JSON 표현
{
  "displayName": string,
  "email": string,
  "imageUri": string
}
필드
displayName

string

출력 전용입니다. '이름' Git 사용자의 git.config 필드에 입력합니다. Git에 필요합니다.

email

string

출력 전용입니다. '이메일' 가능한 경우 Git 사용자의 git.config 필드에 입력합니다.

imageUri

string

출력 전용입니다. 사용 가능한 경우, 외부 소스 제어 제공자의 사용자 계정과 연결된 이미지 파일의 URI입니다.

컨테이너 소스

빌드 소스로 사용할 Artifact Registry 컨테이너 이미지의 URI입니다.

JSON 표현
{
  "image": string
}
필드
image

string

필수 항목입니다. 백엔드에서 사용할 컨테이너를 나타내는 URI입니다.

메소드

create

백엔드의 새 빌드를 만듭니다.

delete

단일 빌드를 삭제합니다.

get

빌드 정보를 가져옵니다.

list

지정된 프로젝트, 위치, 백엔드의 빌드를 나열합니다.