Esquema do ficheiro de acionadores

Esta página explica o esquema do ficheiro de acionadores do Secure Source Manager. Para ver instruções sobre como criar um ficheiro de acionadores, consulte o artigo Crie um ficheiro de acionadores.

Um ficheiro de acionadores contém instruções para o Secure Source Manager acionar os passos definidos num ficheiro de configuração do Cloud Build com base num evento de pedido push ou pull no Secure Source Manager.

Pode configurar as regras de proteção de ramos para exigirem uma verificação de estado bem-sucedida de acionadores específicos. Para saber mais sobre a proteção de ramificações, leia a vista geral da proteção de ramificações.

Estrutura de um ficheiro de acionadores

O ficheiro de configuração dos acionadores tem de ser criado no ramo predefinido do seu repositório. Pode escrever o ficheiro de acionadores com a sintaxe YAML.

Um ficheiro de acionadores 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 secção com nome do ficheiro de acionadores define a configuração do Cloud Build a usar para o tipo de evento especificado no Secure Source Manager.

Acionadores

Um acionador especifica o tipo de evento do Secure Source Manager que quer usar para acionar a conclusão dos passos num ficheiro de configuração do Cloud Build específico. Também pode especificar que ramificações são monitorizadas para o evento especificado.

Use o campo name no ficheiro de acionadores para identificar um acionador. Segue-se um exemplo do tipo de configuração que pode definir no ficheiro 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 acionador. Os nomes dos acionadores só podem conter carateres alfanuméricos e traços, e não podem começar nem terminar com um traço. Os nomes dos acionadores têm de ter menos de 64 carateres.

project

Opcional. Use o campo project para identificar o Google Cloud projeto onde ativou o Cloud Build.

A predefinição é o projeto do Secure Source Manager.

configFilePath

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

A predefinição é .cloudbuild/cloudbuild.yaml.

eventType

Opcional. O tipo de evento a acionar. As opções são push para envios push para os ramos selecionados ou pull_request para pedidos de obtenção para os ramos selecionados.

A predefinição é push.

includedGitRefs

Opcional. Uma expressão regular no formato RE2 que corresponda às referências do Git que acionam uma compilação.

A predefinição é vazia. Um campo de filtro includedGitRefs vazio indica que não existem restrições.

Se a referência Git não estiver incluída no campo de filtro ignoredGitRefs, o Secure Source Manager verifica o campo de filtro includedGitRefs. Se a referência Git estiver no campo de filtro includedGitRefs, é acionada uma compilação. Se o campo de filtro includedGitRefs não estiver vazio e a referência do Git não estiver incluída no campo de filtro includedGitRefs, não é acionada uma compilação.

ignoredGitRefs

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

A predefinição é vazia. Um campo de filtro ignoredGitRefs vazio indica que não existem 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, não é acionada nenhuma compilação.

serviceAccount

Obrigatório. A conta de serviço do Cloud Build a usar para a compilação.

Formato: projects/PROJECT_ID/serviceAccounts/ACCOUNT

Substitua o seguinte:

  • PROJECT_ID: com o ID do projeto onde criou a conta de serviço. Google Cloud
  • ACCOUNT: com o endereço de email ou o ID exclusivo da conta de serviço.

includedFiles

Opcional. Uma expressão regular no formato RE2 que corresponde a ficheiros que devem acionar uma compilação quando são alterados.

Se os ficheiros alterados não estiverem no campo de filtro ignoredFiles e corresponderem ao campo de filtro includedFiles, é acionada uma compilação.

A predefinição é vazia. Um campo de filtro vazio indica que não existem restrições.

ignoredFiles

Opcional. Uma expressão regular no formato RE2 que corresponde a ficheiros que não devem acionar uma compilação quando são alterados.

Se o campo de filtro ignoredFiles não estiver vazio, os commits que incluam apenas ficheiros que correspondam ao campo de filtro ignoredFiles não acionam uma compilação. A predefinição é vazia. Um filtro vazio indica que não existem restrições.

disabled

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

A predefinição é false.

substitutions

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

As substituições têm de começar com um caráter de sublinhado e só podem conter letras maiúsculas, carateres de sublinhado 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 predefinidas:

  • TRIGGER_NAME: o nome associado ao acionador.
  • COMMIT_SHA: o ID de confirmação associado ao acionador.
  • REVISION_ID: o ID de confirmação associado ao acionador.
  • SHORT_SHA: os primeiros sete carateres 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 da etiqueta associada ao acionador.
  • TRIGGER_BUILD_CONFIG_PATH: o caminho para o ficheiro de configuração da compilação usado durante a execução da compilação.

Para obter informações sobre como incluir variáveis de substituição do Secure Source Manager no ficheiro de configuração do Cloud Build, consulte o artigo Substituir valores de variáveis.

O que se segue?