Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Nesta página, explicamos como especificar dependências de build. O Cloud Build
permite gerenciar dependências de código-fonte separadamente do processo de build.
No arquivo de configuração de build, é possível listar um ou mais repositórios Git para
clonar para o build e a ordem em que eles serão buscados. Especificar
dependências dessa forma separa a busca de dependências do processo
de build.
Se você não incluir dependências no arquivo de configuração do build, o Cloud Build vai clonar o repositório de código-fonte que contém o arquivo de configuração do build (para builds acionados) ou o repositório que contém o código-fonte (para builds invocados na linha de comando). Se você incluir dependências no arquivo de configuração de build, o Cloud Build não vai clonar nenhum repositório que não esteja especificado no campo dependencies.
Qualquer repositório de código-fonte especificado no campo dependencies precisa estar conectado ao Cloud Build usando o Developer Connect ou ser um repositório público.
As dependências são clonadas na ordem em que você as especifica nessa configuração. Além disso, a busca de dependências ocorre antes da execução de qualquer lógica especificada pelo usuário. Assim, a busca de dependências é confiável.
As dependências são mostradas na guia Dependências do build da página Detalhes do build.
Antes de começar
As instruções nesta página pressupõem que você tenha um ou mais repositórios Git
públicos ou vinculados usando o
Developer Connect.
Para receber as permissões necessárias para adicionar um repositório do Developer Connect como uma dependência,
peça ao administrador para conceder a você o
papel do IAM de Leitor de token do Developer Connect (developerconnect.readTokenAccessor)
na sua conta de serviço.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Para especificar dependências, adicione uma seção dependencies ao arquivo de configuração de build. dependencies é uma propriedade de nível superior na configuração de build,
mas pode ser colocada em qualquer lugar do arquivo.
URL: opcional. O URL HTTPS do repositório a ser
buscado. É necessário especificar um URL ou um caminho de recurso do Developer Connect.
RESOURCE_PATH: opcional. O caminho do recurso Google Cloud para esse repositório do Developer Connect. Por exemplo,
projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo.
É necessário especificar um URL ou um caminho de recurso do Developer Connect.
Especifique esse campo se o repositório a ser buscado estiver conectado ao
Cloud Build usando o Developer Connect.
REVISION: obrigatório. A versão, o hash de commit, a tag ou o nome da ramificação a ser buscado no repositório.
recurseSubmodules: "true|false": se os submódulos precisam ser buscados.
DEPTH: opcional, a profundidade do histórico do repositório
a ser buscado. Se não for especificado, o commit mais recente será buscado.
1: o commit mais recente
2: os dois últimos commits
3: os três últimos commits
-1: todos os commits
DEST_PATH: obrigatório. O caminho para o diretório em que o repositório é clonado. Por exemplo, my/repo.
Quando você define o dest_path, o repositório é buscado em
/workspace/<dest_path>. O valor dest_path precisa ser um caminho relativo ao diretório de trabalho da build.
Especificar um repositório do Developer Connect como uma dependência
Se você especificar um repositório do Developer Connect como uma dependência, será necessário conceder o papel Developer Connect Read Token Accessor à conta de serviço do Cloud Build. Para mais informações, consulte
Conceder acesso do Cloud Build a um repositório do Developer Connect.
O build precisa estar na mesma região da conexão do Developer Connect.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-18 UTC."],[[["\u003cp\u003eCloud Build allows you to manage and specify source-code dependencies separately from the build process by listing Git repositories in your build configuration file.\u003c/p\u003e\n"],["\u003cp\u003eIf no dependencies are listed, Cloud Build will clone the source code repository containing the build configuration, but if dependencies are specified, only those repositories will be cloned.\u003c/p\u003e\n"],["\u003cp\u003eDependencies in your configuration file must be either public repositories or connected to Cloud Build via Developer Connect, and they are cloned in the order specified before any build logic executes.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003edependencies\u003c/code\u003e stanza in the build configuration file is where you list the repositories, specifying details like the URL or Developer Connect resource path, revision, submodule settings, depth, and destination path.\u003c/p\u003e\n"],["\u003cp\u003eIf using a Developer Connect repository, ensure that the Cloud Build service account has the \u003ccode\u003eDeveloper Connect Read Token Accessor\u003c/code\u003e role and that the build is in the same region as the Developer Connect connection.\u003c/p\u003e\n"]]],[],null,["# Manage build dependencies\n\nThis page explains how you can specify build dependencies. Cloud Build\nlets you manage source-code dependencies separately from the build process.\n\nIn your build configuration file, you can list one or more Git repositories to\nclone for your build, and the order in which to fetch them. Specifying\ndependencies in this way separates dependency fetching from the build\nprocess itself.\n\nIf you don't include any dependencies in your build configuration file,\nCloud Build clones the source code repository that contains your build\nconfiguration file (for triggered builds) or the repository that contains your\nsource code (for builds that you invoke from the command line). If you do\ninclude dependencies in your build configuration file, Cloud Build\ndoesn't clone any repositories that aren't specified in the `dependencies`\nfield.\n\nAny source code repository you specify in the `dependencies` field must be\nconnected to Cloud Build using Developer Connect, or else\nbe a public repository.\n\nDependencies are cloned in the order that you specify them in this\nconfiguration. Also, dependency fetching occurs before any user-specified logic\nis executed. Thus, dependency fetching is trusted.\n\nDependencies are shown in the **Build dependencies** tab of the\n**Build details** page.\n\nBefore you begin\n----------------\n\nThe instructions on this page assume that you have one or more Git repositories\nthat are either public repositories or are\n[linked](/developer-connect/docs/connect-github-repo) using\nDeveloper Connect.\n\n\nTo get the permissions that\nyou need to add a Developer Connect repository as a dependency,\n\nask your administrator to grant you the\n\n\nDeveloper Connect Read Token Accessor (`developerconnect.readTokenAccessor`)\nIAM role on your service account.\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nYou might also be able to get\nthe required permissions through [custom\nroles](/iam/docs/creating-custom-roles) or other [predefined\nroles](/iam/docs/roles-overview#predefined).\n\nSpecify dependencies\n--------------------\n\nYou specify dependencies by adding a `dependencies` stanza to your build\nconfiguration file. `dependencies` is a top-level property in the build config,\nbut you can put it anywhere in the file.\n\nThe following is the syntax for the `dependencies` stanza: \n\n### YAML\n\n dependencies:\n - gitSource:\n repository:\n url: '\u003cvar translate=\"no\"\u003eURL\u003c/var\u003e'\n developerConnect: '\u003cvar translate=\"no\"\u003eRESOURCE_PATH\u003c/var\u003e'\n revision: '\u003cvar translate=\"no\"\u003eREVISION\u003c/var\u003e'\n recurseSubmodules: '\u003cvar translate=\"no\"\u003etrue|false\u003c/var\u003e'\n depth: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDEPTH\u003c/span\u003e\u003c/var\u003e'\n destPath: '\u003cvar translate=\"no\"\u003eDEST_PATH\u003c/var\u003e'\n\n### JSON\n\n {\n \"dependencies\": {\n \"gitSource\": {\n \"repository\": {\n \"url\": \"\u003cvar translate=\"no\"\u003eURL\u003c/var\u003e\"\n \"developerConnect\": \"\u003cvar translate=\"no\"\u003eRESOURCE_PATH\u003c/var\u003e\"\n },\n \"revision\": \"\u003cvar translate=\"no\"\u003eREVISION\u003c/var\u003e\",\n \"recurseSubmodules\": \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-kc\"\u003etrue\u003c/span\u003e\u003cspan class=\"devsite-syntax-err\"\u003e|\u003c/span\u003e\u003cspan class=\"devsite-syntax-kc\"\u003efalse\u003c/span\u003e\u003c/var\u003e,\n \"depth\": \"\u003cvar translate=\"no\"\u003eDEPTH\u003c/var\u003e\",\n \"destPath\": \"\u003cvar translate=\"no\"\u003eDEST_PATH\u003c/var\u003e\",\n },\n },\n }\n\nYou must specify either a URL or a resource path. Specify a resource path if\nthe repository to fetch is connected to Cloud Build using\nDeveloper Connect.\n\nReplace the following values:\n\n- \u003cvar translate=\"no\"\u003eURL\u003c/var\u003e: Optional. The HTTPS URL of the repository to fetch.\n- \u003cvar translate=\"no\"\u003eRESOURCE_PATH\u003c/var\u003e: Optional. The Google Cloud resource\n path to a Developer Connect repository. For example,\n `projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo`.\n\n- \u003cvar translate=\"no\"\u003eREVISION\u003c/var\u003e: Required. The version, commit hash, tag, or\n branch name to fetch from the repository.\n\n- `recurseSubmodules`: '\u003cvar translate=\"no\"\u003etrue|false\u003c/var\u003e': Whether to fetch\n submodules.\n\n- \u003cvar translate=\"no\"\u003eDEPTH\u003c/var\u003e: Optional, how deep into the repository history\n to fetch. If not specified, the latest commit is fetched.\n\n - `1`: the latest commit\n - `2`: the last two commits\n - `3`: the last three commits\n - `-1`: all commits\n- \u003cvar translate=\"no\"\u003eDEST_PATH\u003c/var\u003e: Required. The path to the directory into\n which the repository is cloned. For example, `my/repo`.\n\n When you set the `dest_path` the repository is fetched in\n `/workspace/\u003cdest_path\u003e`. The `dest_path` value must be a path relative to the\n working directory of the build.\n\nSpecify a Developer Connect repository as a dependency\n------------------------------------------------------\n\n- If you specify a Developer Connect repository as a dependency, then\n you must grant the `Developer Connect Read Token Accessor` role to the\n Cloud Build service account. For more information, see\n [Grant Cloud Build access to a Developer Connect repository](/developer-connect/docs/repositories/connect-repository#grant-access).\n\n- Your build must be in the same region as the Developer Connect\n connection.\n\nWhat's next\n-----------\n\n- Learn how to [connect a repository to Cloud Build using\n Cloud Build repositories](/build/docs/repositories).\n\n- Learn how to [connect a repository to Cloud Build using\n Developer Connect](/developer-connect/docs/overview)."]]