Esquema do arquivo de gatilhos

Nesta página, explicamos o esquema do arquivo de gatilhos do Secure Source Manager. Para instruções sobre como criar um arquivo de acionadores, consulte Criar um arquivo de acionadores.

Um arquivo de gatilhos contém instruções para o Secure Source Manager acionar as etapas definidas em um arquivo de configuração do Cloud Build com base em um evento de solicitação push ou pull no Secure Source Manager.

É possível configurar as regras de proteção de ramificação para exigir uma verificação de status bem-sucedida de gatilhos específicos. Para saber mais sobre a proteção de ramificações, leia a Visão geral da proteção de ramificações.

Estrutura de um arquivo de gatilhos

O arquivo de configuração de gatilhos precisa ser criado na ramificação padrão do seu repositório. É possível gravar o arquivo de gatilhos usando a sintaxe YAML.

Um arquivo de gatilhos tem a seguinte estrutura:

triggers:
- name: string
  project: string
  configFilePath: string
  eventType: string
  includedGitRefs: string
  ignoredGitRefs: string
  includedFiles: string
  ignoredFiles: string
  serviceAccount: string
  disabled: bool
  substitutions: map[string]string
- name: string
...

Cada seção nomeada do arquivo de gatilhos define a configuração do Cloud Build a ser usada para o tipo de evento especificado no Secure Source Manager.

Gatilhos

Um gatilho especifica qual tipo de evento do Secure Source Manager você quer usar para acionar a conclusão das etapas em um arquivo de configuração específico do Cloud Build. Você também pode especificar quais ramificações são monitoradas para o evento especificado.

Use o campo name no arquivo de acionadores para identificar um acionador. Confira um exemplo do tipo de configuração que é possível definir no arquivo de acionadores:

triggers:
- name: presubmit-test
  project: my-project
  configFilePath: test.yaml
  eventType: pull_request
  includedGitRefs: ^main$
  ignoredGitRefs: .*log
  serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com
  includedFiles: .*
  ignoredFiles: my-file.txt
  disabled: false
- name: postsubmit-run
  project: my-project
  configFilePath: run.yaml
  eventType: push
  includedGitRefs: ^main$
  ignoredGitRefs: dev-branch
  serviceAccount: projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com
  disabled: false
  substitutions:
    _NODE_VERSION_1: v6.9.1
    REPO_NAME: dev

name

Obrigatório. Use o campo name do acionador para identificar o seu. Os nomes de gatilho só podem conter caracteres alfanuméricos e traços, e não podem começar ou terminar com um traço. É preciso que os nomes dos gatilhos tenham menos de 64 caracteres.

project

Opcional. Use o campo project para identificar o projeto Google Cloud em que você ativou o Cloud Build.

O padrão é o projeto do Secure Source Manager.

configFilePath

Opcional. Caminho para o arquivo de configuração do Cloud Build.

O padrão é .cloudbuild/cloudbuild.yaml.

eventType

Opcional. O tipo de evento a ser acionado. As opções são push para pushes nos branches selecionados ou pull_request para solicitações de pull nos branches selecionados.

O padrão é push.

includedGitRefs

Opcional. Uma expressão regular no formato RE2 que corresponde às referências do Git que acionam um build.

O padrão é vazio. Um campo de filtro includedGitRefs vazio indica que não há restrições.

Se a referência do Git não estiver incluída no campo de filtro ignoredGitRefs, o Secure Source Manager vai verificar o campo de filtro includedGitRefs. Se a referência do Git estiver no campo de filtro includedGitRefs, um build será acionado. Se o campo de filtro includedGitRefs não estiver vazio e a referência do Git não estiver incluída nele, um build não será acionado.includedGitRefs

ignoredGitRefs

Opcional. Uma expressão regular no formato RE2 que corresponde a referências do Git que não devem acionar um build.

O padrão é vazio. Um campo de filtro ignoredGitRefs vazio indica que não há restrições.

O Secure Source Manager verifica primeiro o campo de filtro ignoredGitRefs. Se não estiver vazio e a referência do Git corresponder ao campo de filtro ignoredGitRefs, um build não será acionado.

serviceAccount

Obrigatório. A conta de serviço do Cloud Build a ser usada para o build.

Formato: projects/PROJECT_ID/serviceAccounts/ACCOUNT

Substitua:

  • PROJECT_ID: com o ID do projeto Google Cloud em que você criou a conta de serviço.
  • ACCOUNT: com o endereço de e-mail ou ID exclusivo da conta de serviço.

includedFiles

Opcional. Uma expressão regular no formato RE2 que corresponde a arquivos que devem acionar uma build quando forem alterados.

Se os arquivos alterados não estiverem no campo de filtro ignoredFiles, mas corresponderem ao campo de filtro includedFiles, uma build será acionada.

O padrão é vazio. Um campo de filtro vazio indica que não há restrições.

ignoredFiles

Opcional. Uma expressão regular no formato RE2 que corresponde a arquivos que não devem acionar um build quando forem alterados.

Se o campo de filtro ignoredFiles não estiver vazio, os commits que incluírem apenas arquivos correspondentes ao campo de filtro ignoredFiles não vão acionar um build. O padrão é vazio. Um filtro vazio indica que não há restrições.

disabled

Opcional. Um booleano para definir se o gatilho está desativado ou não. Os valores são true ou false.

O padrão é false.

substitutions

Use substituições no arquivo de gatilhos para substituir variáveis específicas no momento da compilação no arquivo de configuração do Cloud Build.

As substituições precisam começar com um sublinhado e só podem conter letras maiúsculas, sublinhados e números ou ser uma das variáveis de substituição do Secure Source Manager.

O Secure Source Manager fornece as seguintes variáveis de substituição padrão:

  • TRIGGER_NAME: o nome associado ao gatilho.
  • COMMIT_SHA: o ID de confirmação associado ao gatilho.
  • REVISION_ID: o ID de confirmação associado ao gatilho.
  • SHORT_SHA: os primeiros sete caracteres de COMMIT_SHA.
  • REPO_NAME: o nome do repositório. Por exemplo, my-repo.
  • REPO_FULL_NAME: o caminho do recurso do repositório, por exemplo: projects/my-project/locations/us-central/repositories/test-repo.
  • REF_NAME: o nome da ramificação ou tag associada ao gatilho.
  • TRIGGER_BUILD_CONFIG_PATH: o caminho para o arquivo de configuração do build usado durante a execução.

Para informações sobre como incluir variáveis de substituição do Secure Source Manager no arquivo de configuração do Cloud Build, consulte Como substituir valores de variáveis.

A seguir