이 페이지에서는 Cloud Build의 빌드 유형을 설명합니다.
빌드 정의
외부 매개변수
다음 표에서는 Cloud Build 빌드에 사용할 수 있는 외부 매개변수 유형을 보여줍니다. 외부 매개변수는 지정된 값이며 빌드 구성에는 없습니다. 여기에는 cloudbuild.yaml
파일에는 없는 트리거 매개변수가 포함됩니다.
필드 | 유형 | 세부정보 |
---|---|---|
buildConfigSource | 객체 | 빌드 구성을 읽은 위치입니다.BuildTrigger 에서 이 필드는 빌드(SCM 이벤트로 트리거되는 빌드)를 트리거한 소스 저장소에 해당하거나 기타 모든 트리거 유형에 대한 gitFileSource 에 해당합니다. buildConfigSource 또는 buildConfig (인라인 빌드 구성인 경우)가 설정됩니다. |
buildConfigSource.ref | 문자열 | 정규화된 git 참조(refs/ 로 시작) 또는 커밋 SHA(소문자 16진수)로, 구성을 읽은 buildConfigSource.repository 내의 Git 참조입니다. 커밋 SHA는 트리거에 지정된 경우에만 사용됩니다. |
buildConfigSource.repository | 문자열 | 빌드 구성 파일이 포함된 git 저장소의 HTTPS URI입니다(https:// 프로토콜 사용). SPDX 형식과의 호환성을 위해 git+ 가 프리픽스로 추가됩니다. 형식 요구사항에 대한 자세한 내용은 ResourceURI를 참조하세요. |
buildConfigSource.path | 문자열 | 커밋 내의 빌드 구성 파일 경로입니다. 예를 들면 다음과 같습니다.
cloudbuild.yaml pathAutodetect와 상호 배타적입니다. 이러한 필드 중 하나는 정확하게 기본값이 아닌 값으로 설정되어야 합니다. |
buildConfigSource.pathAutoDetect | 부울 | true인 경우, BuildTrigger 의 자동 감지 옵션에 따라 path 가 자동 감지된 것입니다. false는 설정되지 않은 것과 동일하게 간주됩니다. 자동 감지가 사용 설정되지 않은 경우 Cloud Build가 대신 path 를 사용합니다.path 와 상호 배타적입니다. 이러한 필드 중 하나는 기본값이 아닌 값으로 정확히 설정되어야 합니다. |
sourceToBuild | 객체 | 체크아웃되고 빌드된 소스 코드입니다. 일반적으로 buildConfigSource 와 동일합니다. BuildTrigger에 gitFileSource 가 설정된 경우에만 다릅니다.repository 및 ref 가 buildConfigSource 와 동일하고 dir 이 비어 있는 경우 이 필드는 존재하지 않습니다.BuildTrigger에서는 트리거 유형에 따라 sourceToBuild 또는 빌드를 트리거한 커밋에 해당합니다. |
sourceToBuild.ref | 문자열 | 정규화된 Git 참조(refs/ 로 시작) 또는 커밋 SHA(소문자 16진수)로, 확인된 sourceToBuild.repository 내의 Git 참조입니다. 커밋 SHA는 트리거에 지정된 경우에만 사용됩니다. |
sourceToBuild.repository | 문자열 | 체크아웃된 git 저장소의 HTTPS URI입니다(https:// 프로토콜 사용). 여기에는 git+ 가 프리픽스로 추가됩니다. |
sourceToBuild.dir | 문자열 | 빌드를 실행할 커밋 내의 디렉터리입니다(후행 슬래시 없음). 설정하지 않은 채로 비워둘 수 있습니다. |
buildConfig | 문자열 | 수동으로 제출된 빌드와 같이 인라인 빌드 구성이 제공되면 다음 정보가 기록됩니다. - 단계 - 빌드 옵션(예: 환경 변수, 볼륨, 작업자 풀 세부정보, machineType, 로그 세부정보) - 대체 항목 빌드 구성을 저장소에서 읽어 오면 빌드는 buildConfigSource 섹션에 기록되고 인라인 빌드 구성은 생략됩니다.이 정보는 base64로 인코딩되고 직렬화된 JSON 문자열로 저장됩니다. |
substitutions | map<string,string></string,string> | 빌드 리소스에서 수행할 대체 항목이 포함된 (문자열 -> 문자열) 맵입니다. 빌드 구성에 기록되지 않는 '런타임' 또는 '독립형' 대체 항목만 포함됩니다. 즉, 트리거 또는 gcloud CLI 플래그로 전달됩니다. 이 레코드에는 시스템에서 제공하는 기본 대체 항목이 포함되지 않습니다. 이러한 대체 항목은 internalParameters 로 간주되기 때문입니다.대체 항목은 빌드 구성에서 참조 또는 사용 여부와 관계없이 이 필드에 표시됩니다. |
내부 매개변수
다음 표에는 덮어쓰지 않는 한 Cloud Build가 빌드에 설정하는 내부 매개변수를 표시합니다. 자세한 내용은 기본 대체 항목을 참조하세요.
필드 | 세부정보 |
---|---|
triggerUri | 이 빌드를 호출한 트리거의 리소스 URI입니다(이 경우 전체 리소스 이름). 빌드가 트리거되지 않았으면 생략됩니다. |
systemSubstitutions | Cloud Build 빌드에 자동으로 제공되는 기본 대체 값의 하위 집합이 있습니다(예: PROJECT_ID , BUILD_ID ).사용자가 Cloud Build 기본 대체 항목 중 하나를 덮어쓰면 여기에 대체 항목이 표시되지 않습니다. 대신 사용자의 값이 externalParameters.substitutions 에 나열됩니다.
|
확인된 종속 항목
빌드에 소스 저장소나 빌드 구성 저장소가 있으면 저장소는 BuildDefinition
의 resolvedDependencies
섹션에 설명됩니다.
ResolvedDependencies
는 ResourceDescriptor
사양을 준수합니다.
종속 항목 유형 |
세부정보 |
---|---|
빌드 구성 저장소 |
빌드 구성(예: cloudbuild.yaml )을 가져온 저장소입니다(빌드가 트리거된 경우).저장소에서 읽지 않고 인라인으로 제공되는 빌드 구성의 경우 이 저장소가 비어 있을 수 있습니다. 이 경우 생략됩니다. |
소스 저장소 |
빌드할 소스 코드를 가져온 저장소입니다. buildConfigSource 와 동일하거나 다를 수 있습니다. buildConfigSource 와 동일한 경우 sourceToBuild 가 생략됩니다(예: SCM에서 트리거된 빌드에서).
빌드가 –no-source 를 통해 실행되면 sourceToBuild 가 비어 있을 수 있으며 생략됩니다. |
예를 들어 다음 resolvedDependencies
정보에는 buildConfigRepo와 sourceRepo(서로 동일) 및 빌드 단계 이미지가 모두 포함됩니다.
"resolvedDependencies": [
{
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"}
}, {
"uri": "gcr.io/cloud-builders/git",
"digest": {
"sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bba7158df"}
}
]
RunDetails
필드 | 세부정보 |
---|---|
빌더 | 작업을 실행하고 이 출처를 채운 빌드 플랫폼을 식별하는 id 하위 필드가 포함되어 있습니다. SLSA 수준도 포함되어 있습니다. 예상 id 값은 https://cloudbuild.googleapis.com/GoogleHostedWorker 입니다 |
metadata | 이러한 빌드의 특정 실행에 대한 추가 메타데이터입니다.
invocationId 에 빌드의 URL이 표시됩니다(예: https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID ).
startedOn 및 finishedOn 필드에는 빌드가 시작되고 완료된 타임스탬프가 포함되어 있습니다.
|
byproducts | 아직 사용되지 않습니다. 빌드의 출력으로 간주되지 않는 추가 아티팩트가 포함되도록 설계되었지만 문제 해결이나 이슈 대응에 유용할 수 있습니다. |
systemSubstitutions | Cloud Build 빌드에 자동으로 제공되는 기본 대체 값의 하위 집합이 있습니다(예: PROJECT_ID , BUILD_ID ).사용자가 Cloud Build 기본 대체 항목 중 하나를 덮어쓰면 여기에 대체 항목이 표시되지 않습니다. 대신 사용자의 값이 externalParameters.substitutions 에 나열됩니다.
|