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 deCOMMIT_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
- Criar um arquivo de acionadores
- Saiba mais sobre os arquivos de configuração do Cloud Build em Esquema do arquivo de configuração do build