Tipo de compilação: Google Builder

Esta página explica a definição do tipo de compilação SLSA V1.0 para o Google Builder.

Parâmetros externos

A tabela seguinte apresenta os tipos de parâmetros externos que podem ser usados numa definição de Workflow PipelineRun e Workflow TaskRun. Salvo indicação em contrário, todos os parâmetros são obrigatórios.

Campo Tipo Detalhes

runSpec

objeto

A especificação PipelineRun completa.

buildConfigSource

objeto

A especificação buildConfigSource completa.

Especificação PipelineRun

Campo Tipo Detalhes

pipelineRef/taskRef

objeto

De onde foi lido o pipelineSpec/taskSpec.

Este campo só é preenchido se o pipelineSpec tiver sido referenciado a partir de uma origem remota.

Predefinição: null

pipelineSpec/taskSpec

objeto

Especificação de pipeline/tarefa incorporada, não obtida a partir de uma origem remota através de pipelineRef/taskRef.

[Opcional].

params

[object]

Mapa dos nomes e valores dos parâmetros fornecidos ao pipeline. Os valores podem ser do tipo string, matriz ou objeto.

Predefinição: null

Nota: no caso de um fluxo de trabalho acionado, este campo também contém alguns parâmetros fornecidos pelo sistema de acionamento do Cloud Build além dos parâmetros configurados pelo utilizador na definição do fluxo de trabalho.

espaços de trabalho

[object]

Os espaços de trabalho contêm um conjunto de associações de espaços de trabalho que têm de corresponder aos nomes declarados no pipeline.

Predefinição: null

limites de tempo/limite de tempo

objeto

Tempo após o qual o pipeline excede o limite de tempo. Os limites de tempo podem ser definidos para: Pipeline, Tasks e Finally. Estão relacionados pela fórmula: Timeouts.pipeline Timeouts.tasks + Timeouts.finally.

Especificação buildConfigSource

Campo Tipo Detalhes

ref

objeto

Pode ser uma das seguintes opções:

  • A referência do Git. Por exemplo, o SHA da confirmação: sha1:563f0...
  • O resumo de imagens. Por exemplo: sha256:91fbe...

repositório

de string

O URI do repositório Git ou o URI do repositório de imagens

caminho

de string

O caminho no repositório git ou o nome do recurso no pacote de imagens.

Parâmetros internos

Os parâmetros internos são fornecidos pelo criador para o processo de compilação.

Campo Tipo Detalhes
tekton-pipelines-feature-flags objeto Sinalizadores de funcionalidades de configuração do Tekton usados para a compilação. Estas são configuradas pelo criador e são úteis para a reprodutibilidade.
systemParameters objeto Uma lista de pares de valor e nome para substituições do sistema predefinidas fornecidas pelo GCB.

Dependências resolvidas

O campo resolvedDependencies tem de conter entradas que identifiquem a referência resolvida correspondente a externalParameters.configRef. Esta é a referência ao Pipeline, no caso de uma especificação PipelineRun, ou a referência à tarefa, no caso de uma especificação TaskRun.

As dependências resolvidas podem conter artefactos adicionais que são entradas para a compilação, usando o campo name para indicar o tipo de artefacto:

  • Para pipelines remotos, use name: pipeline.
  • Para tarefas remotas, use name: pipelineTask.
  • Para uma referência resolvida a um passo ou a uma imagem de contentor auxiliar, o campo name é opcional. No caso do campo digest, mesmo que a imagem seja referenciada por uma etiqueta, tem de incluir o resumo da imagem.
  • Para outros artefactos de entrada usados para a compilação, como o código fonte, use name: inputs/result. A indicação de tipo é usada para os resultados da tarefa.

O exemplo seguinte contém informações sobre todos os tipos de dependências resolvidas:

"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

Campo Detalhes
builder Contém um subcampo id que identifica a plataforma de compilação que executou a operação e preencheu esta proveniência. Também contém o nível SLSA. O valor id esperado é um dos seguintes:
  • https://cloudbuild.googleapis.com/GoogleBuilder. Este ID do criador indica uma compilação SLSA L2.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder. Este ID do criador indica uma compilação SLSA L3.
metadados Metadados adicionais sobre esta execução específica da compilação. O elemento invocationId apresenta o URL da compilação, como https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
Os campos startedOn e finishedOn contêm as indicações de tempo de quando a compilação foi iniciada e concluída.
subprodutos Um objeto results.
Contém os TaskRunResults produzidos pelo PipelineRun. O conteúdo está codificado em Base64.