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 CloudACCOUNT
: 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 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 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?
- Crie um ficheiro de acionadores
- Saiba mais sobre os ficheiros de configuração do Cloud Build lendo o esquema do ficheiro de configuração da compilação