Tipo de compilação: compilação do Cloud Build v1

Esta página explica o tipo de compilação para o Cloud Build.

Definição da compilação

Parâmetros externos

A tabela seguinte apresenta os tipos de parâmetros externos que podem ser usados numa compilação do Cloud Build. Os parâmetros externos são valores que especifica e que não estão presentes na configuração de compilação. Isto inclui parâmetros de acionador que não estão no ficheiro cloudbuild.yaml.

Campo Tipo Detalhes
buildConfigSource objeto Localização a partir da qual a configuração de compilação foi lida.

No BuildTrigger, isto corresponde ao repositório de origem que acionou a compilação (compilações acionadas por eventos de SCM) ou gitFileSource para todos os outros tipos de acionadores.

É definido buildConfigSource OU buildConfig (no caso da configuração de compilação inline).
buildConfigSource.ref de string Referência do Git em buildConfigSource.repository a partir da qual a configuração foi lida, como uma referência do Git totalmente qualificada (a começar por refs/) ou um SHA de commit (hexadecimal em minúsculas). Um SHA de commit só é usado se for especificado no acionador.
buildConfigSource.repository de string URI HTTPS do repositório git que contém o ficheiro de configuração de compilação, com o protocolo https://. Este elemento vai ter o prefixo git+ para compatibilidade com o formato SPDX. Para mais informações sobre os requisitos de formato, consulte o artigo ResourceURI.
buildConfigSource.path de string Caminho para o ficheiro de configuração de compilação na confirmação. Exemplo: cloudbuild.yaml

Exclusivo com pathAutodetect. Tem de definir exatamente um destes campos com um valor não predefinido.
buildConfigSource.pathAutoDetect booleano Se for verdadeiro, path foi detetado automaticamente, o que corresponde à opção de deteção automática em BuildTrigger. False é considerado equivalente a não definido; o Cloud Build usa path em vez disso se a deteção automática não tiver sido ativada.

Exclusivamente mútuo com path. Tem de definir exatamente um destes campos com um valor não predefinido.
sourceToBuild objeto Código-fonte que foi extraído e criado. Normalmente, é igual a buildConfigSource; só difere se o BuildTrigger tiver gitFileSource definido.

Este campo não existe se repository e ref forem iguais a buildConfigSource e dir estiver vazio.

Em BuildTrigger, isto corresponde a sourceToBuild ou à confirmação que acionou a compilação, consoante o tipo de acionador.
sourceToBuild.ref de string Referência do Git em sourceToBuild.repository que foi extraída como uma referência do Git totalmente qualificada (a começar por refs/) ou um SHA de confirmação (hexadecimal em minúsculas). Um SHA de commit só é usado se for especificado no acionador.
sourceToBuild.repository de string URI HTTPS do repositório git que foi extraído, com o protocolo https://. Este valor tem o prefixo git+.
sourceToBuild.dir de string Diretório na confirmação no qual executar a compilação, sem uma barra final. Pode estar vazio ou não definido.
buildConfig de string Quando é fornecida uma configuração de compilação inline, como numa compilação enviada manualmente, são registadas as seguintes informações.

- steps
- build options (e.g. environment variables, volumes, worker pool details, machineType, log details)
- substitutions

Se a configuração de compilação tiver sido lida de um repositório, é registada na secção buildConfigSource e a configuração de compilação inline é omitida.

Estas informações são armazenadas como uma string JSON serializada codificada em base64.
substituições map<string,string></string,string> Mapa de (string -> string) que contém as substituições a efetuar no recurso de compilação.

Isto só contém substituições de "tempo de execução" ou "independentes" que não são registadas na configuração de compilação, ou seja, transmitidas a partir de um acionador ou de uma flag da CLI gcloud.

Este registo não inclui as substituições predefinidas fornecidas pelo sistema, uma vez que são consideradas internalParameters.

As substituições aparecem neste campo, independentemente de serem referenciadas ou usadas na configuração de compilação.

Parâmetros internos

A tabela seguinte apresenta os parâmetros internos que o Cloud Build define para a compilação, a menos que os substitua. Para mais informações, consulte as substituições predefinidas.

Campo Detalhes
triggerUri URI do recurso do acionador que invocou esta compilação. Neste caso, o nome de recurso completo.

Se a compilação não tiver sido acionada, esta informação é omitida.
systemSubstitutions Existe um subconjunto de valores de substituição predefinidos que são fornecidos automaticamente em compilações do Cloud Build, como PROJECT_ID e BUILD_ID.

Se substituir uma das substituições predefinidas do Cloud Build, as suas substituições não são apresentadas aqui. Em alternativa, os seus valores são apresentados em externalParameters.substitutions.

Dependências resolvidas

Se a compilação tiver um repositório de origem ou um repositório de configuração de compilação, o repositório é descrito na secção resolvedDependencies do BuildDefinition.

ResolvedDependencies estar em conformidade com a ResourceDescriptor especificação.


Tipo de dependência

Detalhes

Repositório de configuração de compilação

O repositório do qual a configuração de compilação (ou seja, o cloudbuild.yaml) foi extraída, no caso de compilações acionadas.


Este elemento pode estar vazio no caso de uma configuração de compilação que não foi lida a partir de um repositório e é fornecida inline, caso em que é omitida.

Repositório de origem

O repositório a partir do qual o código-fonte para compilação foi extraído. Pode ser igual a buildConfigSource ou diferente. Se for igual a buildConfigSource, o elemento sourceToBuild é omitido, por exemplo, em compilações acionadas pelo SCM.

O sourceToBuild pode estar vazio se a compilação for executada através de –no-source e é omitido.

Por exemplo, as seguintes informações resolvedDependencies contêm um buildConfigRepo e um sourceRepo (que são iguais), bem como uma imagem do passo de compilação.

"resolvedDependencies": [
{
    "uri": "git+https://github.com/octocat/hello-world.git",
    "digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"}
}, {
    "uri": "gcr.io/cloud-builders/git",
    "digest": {
        "sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bba7158df"}
    }
]

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 é https://cloudbuild.googleapis.com/GoogleHostedWorker.
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/v1/projects/PROJECT_ID/locations/LOCATION/builds/BUILD_ID.
Os campos startedOn e finishedOn contêm as datas/horas em que a compilação foi iniciada e concluída.
subprodutos Ainda não está em utilização. Concebidos para conter artefactos adicionais que não são considerados o resultado da compilação, mas que podem ser úteis para a resolução de problemas ou a resposta a incidentes.
systemSubstitutions Existe um subconjunto de valores de substituição predefinidos que são fornecidos automaticamente nas compilações do Cloud Build, como PROJECT_ID e BUILD_ID.

Se substituir uma das substituições predefinidas do Cloud Build, as suas substituições não são apresentadas aqui. Em alternativa, os seus valores são apresentados em externalParameters.substitutions.