Tipo de build: Google Builder

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

Parâmetros externos

A tabela a seguir mostra os tipos de parâmetros externos que podem ser usados em uma definição de Workflow PipelineRun e Workflow TaskRun. A menos que indicado de outra forma, todos os parâmetros são obrigatórios.

Campo Tipo Detalhes

runSpec

objeto

A especificação PipelineRun completa.

buildConfigSource

objeto

A especificação de buildConfigSource completa.

Especificação do PipelineRun

Campo Tipo Detalhes

pipelineRef/taskRef

objeto

De onde a pipelineSpec/taskSpec foi lida.

Esse campo só será preenchido se a pipelineSpec tiver sido referenciada de uma fonte remota.

Padrão: null

pipelineSpec/taskSpec

objeto

Especificação de pipeline/tarefa inline, não extraída de uma origem remota usando pipelineRef/taskRef.

[Opcional].

params

[object]

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

Padrão: null

Observação: no caso de um fluxo de trabalho acionado, esse campo também vai conter alguns parâmetros fornecidos pelo sistema de acionamento do Cloud Build, além dos parâmetros configurados pelo usuário na definição do fluxo de trabalho.

espaços de trabalho

[object]

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

Padrão: null

timeouts/timeout

objeto

Tempo após o qual o pipeline expira. É possível definir tempos limite para pipeline, tarefas e finalmente. Eles são relacionados pela fórmula Timeouts.pipeline Timeouts.tasks + Timeouts.finally.

Especificação de buildConfigSource

Campo Tipo Detalhes

ref

objeto

Será um dos seguintes valores:

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

repositório

string

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

caminho

string

O caminho no repositório do Git ou o nome do recurso no pacote de imagem.

Parâmetros internos

Os parâmetros internos são fornecidos pelo builder para o processo de build.

Campo Tipo Detalhes
tekton-pipelines-feature-flags objeto Flags de recursos de configuração do Tekton usadas para o build. Elas são configuradas pelo builder e são úteis para a reprodutibilidade.
systemParameters objeto Uma lista de pares de nome e valor para substituições de sistema padrão fornecidas pelo GCB.

Dependências resolvidas

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

As dependências resolvidas podem conter outros artefatos que são entradas para o build, usando o campo name para indicar o tipo do artefato:

  • Para pipelines remotos, use name: pipeline.
  • Para tarefas remotas, use name: pipelineTask.
  • Para uma referência resolvida a uma etapa ou imagem de contêiner de arquivo secundário, o campo name é opcional. No caso do campo digest, mesmo que a imagem seja referenciada por tag, o resumo da imagem precisa ser incluído.
  • Para outros artefatos de entrada usados para o build, como o código-fonte, use name: inputs/result. A sugestão de tipo é usada para os resultados da tarefa.

O exemplo a seguir 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 build que executou a operação e preencheu essa origem. Ele também contém o nível SLSA. O valor esperado de id é um dos seguintes:
  • https://cloudbuild.googleapis.com/GoogleBuilder. Esse ID do builder indica um build SLSA L2.
  • https://cloudbuild.googleapis.com/GoogleIsolatedBuilder. Esse ID do builder indica um build SLSA L3.
metadados Metadados adicionais sobre essa execução específica do build. O invocationId mostra o URL do build, como https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID.
Os campos startedOn e finishedOn contêm os carimbos de data/hora de quando o build foi iniciado e concluído.
subprodutos Um objeto results.
Contém os TaskRunResults produzidos pela PipelineRun. O conteúdo é codificado em Base64.