빌드 유형: Google 빌더

이 페이지에서는 Google Builder의 SLSA V1.0 빌드 유형 정의를 설명합니다.

외부 매개변수

다음 표는 Workflow PipelineRun 및 Workflow TaskRun 정의에 사용할 수 있는 외부 매개변수 유형을 보여줍니다. 달리 명시되지 않는 한 모든 매개변수가 필요합니다

필드 유형 세부정보

runSpec

객체

전체 PipelineRun 사양.

buildConfigSource

객체

전체 buildConfigSource 사양.

PipelineRun 사양

필드 유형 세부정보

pipelineRef/taskRef

객체

PipelinesSpec/taskSpec을 읽은 위치입니다.

이 필드는 PipelinesSpec가 원격 소스에서 참조된 경우에만 채워집니다.

기본값: null

pipelineSpec/taskSpec

객체

인라인 파이프라인/태스크 사양, pipelineRef/taskRef를 사용하여 원격 소스에서 가져오지 않음.

[선택사항].

params

[객체]

파이프라인에 제공된 매개변수 이름 및 값의 맵. 값은 문자열, 배열 또는 객체 유형이 될 수 있습니다.

기본값: null

참고: 트리거 워크플로의 경우, 이 필드에는 워크플로 정의에서 사용자가 구성한 매개변수 외에도 Cloud Build 트리거 시스템에서 제공하는 일부 매개변수가 포함됩니다.

workspaces

[객체]

Workspaces는 파이프라인에서 선언된 이름과 일치해야 하는 작업 공간 바인딩 세트를 보유합니다.

기본값: null

timeouts/timeout

객체

이 시간이 지나면 파이프라인이 타임아웃됩니다. 제한 시간은 Pipeline, Tasks, Finally에 정의할 수 있습니다. Timeouts.pipeline Timeouts.tasks + Timeouts.finally 수식과 관련이 있습니다.

buildConfigSource 사양

필드 유형 세부정보

ref

객체

다음 중 하나일 수 있습니다.

  • Git 참조. 예: 커밋 SHA sha1:563f0...
  • 이미지 다이제스트. 예: sha256:91fbe...

저장소

문자열

Git 저장소 URI 또는 이미지 저장소 URI

경로

문자열

git 저장소의 경로 또는 이미지 번들의 리소스 이름입니다.

내부 매개변수

내부 매개변수는 빌더에서 빌드 프로세스를 위해 제공합니다.

필드 유형 세부정보
tekton-pipelines-feature-flags 객체 빌드에 사용된 Tekton 구성 기능 플래그 이는 빌더에 의해 구성되며 재현성에 유용합니다.
systemParameters 객체 GCB에서 제공하는 기본 시스템 대체 항목의 이름 및 값 쌍 목록입니다.

확인된 종속 항목

resolvedDependencies 필드에는 externalParameters.configRef에 해당하는 확인된 참조를 식별하는 항목이 포함되어야 합니다. 이는 PipelineRun 사양의 경우 파이프라인에 대한 참조, TaskRun 사양의 경우 태스크에 대한 참조입니다.

확인된 종속 항목에는 name 필드를 사용하여 아티팩트 유형을 나타내는 빌드에 대한 입력인 추가 아티팩트가 포함될 수 있습니다.

  • 원격 파이프라인의 경우 name: pipeline을 사용합니다.
  • 원격 태스크의 경우 name: pipelineTask을 사용합니다.
  • 단계 또는 사이드카 컨테이너 이미지에 대한 확인된 참조의 경우 name 필드는 선택사항입니다. digest 필드의 경우 이미지가 태그별로 참조되더라도 이미지 다이제스트를 포함해야 합니다.
  • 소스 코드와 같이 빌드에 사용된 다른 입력 아티팩트의 경우 name: inputs/result를 사용합니다. 유형 힌팅은 Task의 결과에 사용됩니다.

다음 예제에는 모든 유형의 확인된 종속 항목에 대한 정보가 포함되어 있습니다.

"resolvedDependencies": [
  {
    "name": "pipeline",
    "uri": "git+https://github.com/octocat/hello-world.git",
    "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  },
  {
  "name": "pipelineTask",
  "uri": "git+https://github.com/octocat/hello-world.git",
  "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  },
  {
  "uri": "gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init",
  "digest": {
    "sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bbac90380cd7158df"},
  },
  {
  "name": "inputs/result",
  "uri": "git+https://github.com/octocat/hello-world.git",
  "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
  }
]

RunDetails

필드 세부정보
빌더 작업을 실행하고 이 출처를 채운 빌드 플랫폼을 식별하는 id 하위 필드가 포함되어 있습니다. SLSA 수준도 포함되어 있습니다. 예상 id 값은 다음 중 하나입니다.
  • https://cloudbuild.googleapis.com/GoogleBuilder. 이 빌더 ID는 SLSA L2 빌드를 나타냅니다.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder. 이 빌더 ID는 SLSA L3 빌드를 나타냅니다.
metadata 이러한 빌드의 특정 실행에 대한 추가 메타데이터입니다. invocationId에 빌드의 URL이 표시됩니다(예: https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID).
startedOnfinishedOn 필드에는 빌드가 시작되고 완료된 타임스탬프가 포함되어 있습니다.
byproducts results 객체
PipelineRun에서 생성된 TaskRunResults를 포함합니다. 콘텐츠는 Base64로 인코딩됩니다.