Antes de começar
- Crie uma instância do Secure Source Manager.
- Crie um repositório do Secure Source Manager.
- Configure uma conta de serviço especificada pelo utilizador do Cloud Build.
Funções necessárias
Para receber as autorizações de que precisa para associar um repositório do Secure Source Manager ao Cloud Build, peça ao seu administrador que lhe conceda as seguintes funções do IAM:
-
Secure Source Manager Repository Writer (
roles/securesourcemanager.repoWriter
) no seu repositório -
Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor
) na instância do Secure Source Manager
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Para obter informações sobre a concessão de funções do Secure Source Manager, consulte os artigos Controlo de acesso com o IAM e Conceda aos utilizadores acesso à instância.
Funções da conta de serviço necessárias
Para criar compilações e obter o estado de compilação do Cloud Build, conceda ao agente de serviço do Secure Source Manager (service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com
) as seguintes funções de gestão de identidade e de acesso (IAM):
- Função de Editor do Cloud Build
(
roles/cloudbuild.builds.editor
) no projeto onde ativou o Cloud Build. - Função Utilizador da conta de serviço (
roles/iam.serviceAccountUser
) na conta de serviço do Cloud Build ou no projeto com o qual a conta de serviço do Cloud Build foi criada. - Se o projeto onde ativou o Cloud Build for diferente do projeto onde o Secure Source Manager está ativado, conceda a função de consumidor de utilização de serviços (
roles/serviceusage.serviceUsageConsumer
) no projeto do Cloud Build. - Se as compilações estiverem a ser executadas em pools de trabalhadores, conceda à conta de serviço do Secure Source Manager a função Utilizador do WorkerPool do Cloud Build (
roles/cloudbuild.workerPoolUser
) no projeto do Cloud Build.
Para permitir que o Cloud Build leia a partir do seu repositório do Secure Source Manager, conceda à conta de serviço do Cloud Build as seguintes funções do IAM:
- Função Secure Source Manager Instance Accessor (
roles/securesourcemanager.instanceAccessor
) na instância do Secure Source Manager. - Função Secure Source Manager Repository Reader no repositório do Secure Source Manager que quer ligar ao Cloud Build.
Consoante o seu exemplo de utilização, a conta de serviço do Cloud Build pode precisar de funções de IAM adicionais para executar compilações, por exemplo:
- Para armazenar registos de compilação no Cloud Logging, conceda a função de Escritor de registos à conta de serviço do Cloud Build.
- Para aceder aos segredos no Secret Manager, conceda a função de
Secret Manager Secret Accessor
(
roles/secretmanager.secretAccessor
) à conta de serviço do Cloud Build.
Para obter informações sobre como conceder funções de IAM a um agente de serviço, consulte o artigo Conceda ou revogue uma única função.
Para ver informações sobre os registos de compilação, consulte o artigo Configurar registos de compilação.
Crie um ficheiro de configuração de compilação
Um ficheiro de configuração de compilação define os campos necessários para que o Cloud Build execute as suas tarefas de compilação. Pode escrever o ficheiro de configuração de compilação com a sintaxe YAML.
Pode criar ficheiros de configuração de compilação no ramo ou ramos a partir dos quais quer compilar.
Para criar um ficheiro de configuração de compilação, faça o seguinte:
- Na interface Web do Secure Source Manager, selecione o repositório que quer associar ao Cloud Build.
- Selecione a ramificação a partir da qual quer criar a compilação com o Cloud Build.
Crie um ficheiro de configuração de compilação. Para obter informações sobre como criar ficheiros de configuração de compilação, siga as instruções em crie um ficheiro de configuração de compilação.
Consolide as alterações no ramo.
Crie um ficheiro de acionadores
O ficheiro de configuração dos acionadores tem de ser criado no ramo predefinido do seu repositório.
Para criar um ficheiro de configuração de acionadores:
- No repositório local ou na interface Web do Secure Source Manager, mude para o ramo predefinido.
Cria um ficheiro com o nome
.cloudbuild/triggers.yaml
.Configure o acionador no ficheiro
.cloudbuild/triggers.yaml
:triggers: - name: TRIGGER_NAME project: PROJECT_ID configFilePath: CLOUD_BUILD_CONFIG_PATH eventType: EVENT_TYPE ignoredGitRefs: IGNORED_GIT_REFS includedGitRefs: INCLUDED_GIT_REFS serviceAccount: SERVICE_ACCOUNT includedFiles: INCLUDED_FILES ignoredFiles: IGNORED_FILES disabled: DISABLED_BOOL substitutions: _VARIABLE_NAME: VARIABLE_VALUE OVERRIDE_VARIABLE_NAME: OVERRIDE_VARIABLE_VALUE
Substitua o seguinte:
TRIGGER_NAME
com um nome para 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_ID
com o ID do projeto onde ativou o Cloud Build. Google Cloud Este campo é opcional. A predefinição é o projeto do Secure Source Manager.CLOUD_BUILD_CONFIG_PATH
com o caminho para o ficheiro de configuração do Cloud Build que quer usar para este acionador. Este campo é opcional. O valor predefinido é.cloudbuild/cloudbuild.yaml
EVENT_TYPE
com o tipo de evento que quer acionar a compilação. As opções são as seguintes:push
para acionar o envio para os ramos especificadospull_request
para acionar um pedido de envio para os ramos especificados
Este campo é opcional. O valor predefinido é
push
.INCLUDED_GIT_REFS
com um formato de expressão regular RE2 opcional que corresponda às referências do Git que quer usar para acionar uma compilação. O valor predefinido está vazio. Um valor vazio indica que não existem restrições.IGNORED_GIT_REFS
com uma expressão regular opcional que usa o formato de expressão regular RE2 que corresponde às referências do Git que não quer que acionem uma compilação. O valor predefinido está vazio. Um valor vazio indica que não existem restrições. O campoignoredGitRefs
é verificado antes do campoincludedGitRefs
. Para mais informações sobre estes campos, consulte o Esquema do ficheiro de acionadores.SERVICE_ACCOUNT
com a conta de serviço do Cloud Build a usar para a compilação no formatoprojects/PROJECT_ID/serviceAccounts/ACCOUNT
. Substitua ACCOUNT pelo endereço de email ou ID exclusivo da conta de serviço. Como prática recomendada, configure uma conta de serviço especificada pelo utilizador. Não é possível usar a conta de serviço do Cloud Build antiga devido às respetivas limitações.INCLUDED_FILES
com uma expressão regular de formato RE2 opcional que corresponde aos ficheiros para os quais quer acionar uma compilação.Se algum dos ficheiros alterados não corresponder ao campo de filtro
ignoredFiles
e os ficheiros alterados corresponderem ao campo de filtroincludedFiles
, é acionada uma compilação. O valor predefinido está vazio. Um valor vazio indica que não existem restrições.IGNORED_FILES
com uma expressão regular de formato RE2 opcional que corresponda aos ficheiros para os quais não quer acionar uma compilação.Se todos os ficheiros alterados num commit corresponderem a este campo de filtro, não é acionada uma compilação. O valor predefinido está vazio. Um valor vazio indica que não existem restrições.
DISABLED_BOOL
comtrue
para desativar o acionador oufalse
para ativar o acionador. Este campo é opcional. O valor predefinido éfalse
.VARIABLE_NAME
com o nome de uma variável que quer introduzir no ficheiro de acionadores.VARIABLE_VALUE
com o valor da variável.OVERRIDE_VARIABLE_NAME
com o nome da variável de substituição predefinido do Secure Source Manager. Para obter informações sobre as variáveis de substituição predefinidas disponíveis, consulte a secção de substituições do esquema do ficheiro de acionadores.OVERRIDE_VARIABLE_VALUE
com o valor que quer usar para substituir o valor predefinido da variável de substituição predefinida.
Confirme o ficheiro de configuração do acionador no ramo predefinido.
Depois de confirmar o ficheiro de acionadores, o Secure Source Manager aciona compilações com base na configuração no ficheiro de acionadores.
O Secure Source Manager lê os ficheiros de configuração e o SHA de commit ou a referência Git associados dos seguintes tipos de eventos:
- Para eventos
push
, o Secure Source Manager lê o SHA de confirmação ou a referência Git quando o envio é concluído. - Para eventos
pull_request
, o Secure Source Manager lê o SHA de commit ou a referência Git quando as alterações do pedido de obtenção são obtidas.
- Para eventos
Veja o estado da compilação
Quando uma compilação é acionada por um evento de pedido push ou pull, o estado de commit e compilação é apresentado na interface Web do Secure Source Manager.
Os valores possíveis para o estado de compilação são os seguintes:
SUCCESS: a compilação foi concluída com êxito.
AVISO: ocorreu um problema ao tentar criar.
FAILURE: a compilação falhou durante a execução.
Pode impedir que as confirmações com compilações sem êxito sejam unidas em ramos importantes se configurar uma regra de proteção de ramos para exigir uma verificação de estado bem-sucedida a partir de acionadores configurados no ficheiro de acionadores. Para saber mais sobre a proteção de ramificações, leia a vista geral da proteção de ramificações.
Para ver o estado de compilação de um evento push:
Na interface Web do Secure Source Manager, navegue para o seu repositório.
Se o evento push mais recente tiver acionado uma compilação, o estado é apresentado junto ao SHA de confirmação. Para ver detalhes sobre esse estado, clique no estado.
Para ver o estado de compilação de commits anteriores, selecione Commits para ver o histórico de commits e, de seguida, clique no estado cujos detalhes quer ver.
Para ver o estado de compilação de um evento de pedido de obtenção:
- Na interface Web do Secure Source Manager, clique em Pedidos de obtenção.
Clique no pedido de envio que quer ver.
Se as compilações foram acionadas pelo pedido de obtenção, é apresentada uma secção com o título Todas as verificações foram bem-sucedidas ou Algumas verificações comunicaram avisos.
Resolver problemas
Para encontrar métodos de diagnóstico e resolução de erros do Cloud Build quando se liga ao Secure Source Manager, consulte o artigo O ficheiro de acionadores não aciona a compilação.
O que se segue?
- Saiba como ver os resultados da compilação no Cloud Build.
- Saiba como resolver problemas de erros de compilação.