Faça a gestão das dependências de compilação

Esta página explica como pode especificar dependências de compilação. O Cloud Build permite-lhe gerir as dependências de código-fonte separadamente do processo de compilação.

No ficheiro de configuração de compilação, pode listar um ou mais repositórios Git para clonar para a sua compilação e a ordem pela qual os obter. A especificação de dependências desta forma separa a obtenção de dependências do próprio processo de compilação.

Se não incluir dependências no ficheiro de configuração da compilação, o Cloud Build clona o repositório de código-fonte que contém o ficheiro de configuração da compilação (para compilações acionadas) ou o repositório que contém o código-fonte (para compilações que invoca a partir da linha de comandos). Se incluir dependências no ficheiro de configuração de compilação, o Cloud Build não clona repositórios que não estejam especificados no campo dependencies.

Qualquer repositório de código fonte que especificar no campo dependencies tem de estar ligado ao Cloud Build através do Developer Connect ou, caso contrário, tem de ser um repositório público.

As dependências são clonadas na ordem em que as especifica nesta configuração. Além disso, a obtenção de dependências ocorre antes de qualquer lógica especificada pelo utilizador ser executada. Assim, a obtenção de dependências é fidedigna.

As dependências são apresentadas no separador Criar dependências da página Detalhes da criação.

Antes de começar

As instruções nesta página partem do princípio de que tem um ou mais repositórios Git que são repositórios públicos ou estão associados através do Developer Connect.

Para receber as autorizações de que precisa para adicionar um repositório do Developer Connect como dependência, peça ao seu administrador para lhe conceder a função Developer Connect Read Token Accessor (developerconnect.readTokenAccessor) do IAM na sua conta de serviço. 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.

Especifique dependências

Especifica as dependências adicionando uma secção dependencies ao ficheiro de configuração de compilação. dependencies é uma propriedade de nível superior na configuração de compilação, mas pode colocá-la em qualquer parte do ficheiro.

Segue-se a sintaxe para a secção dependencies:

YAML

 dependencies:
 - gitSource:
     repository:
       url: 'URL'
       developerConnect: 'RESOURCE_PATH'
     revision: 'REVISION'
     recurseSubmodules: 'true|false'
     depth: DEPTH'
     destPath: 'DEST_PATH'

JSON

 {
     "dependencies": {
         "gitSource": {
             "repository": {
                 "url": "URL"
                 "developerConnect": "RESOURCE_PATH"
             },
             "revision": "REVISION",
             "recurseSubmodules": true|false,
             "depth": "DEPTH",
             "destPath": "DEST_PATH",
         },
     },
 }

Substitua os seguintes valores:

  • URL: opcional. O URL HTTPS do repositório a obter. Tem de especificar um URL ou um caminho de recurso do Developer Connect.

  • RESOURCE_PATH: opcional. O caminho Google Cloud do recurso para esse repositório do Developer Connect. Por exemplo, projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo. Tem de especificar um URL ou um caminho de recurso do Developer Connect. Especifique este campo se o repositório a obter estiver ligado ao Cloud Build através do Developer Connect.

  • REVISION: obrigatório. A versão, o hash de commit, a etiqueta ou o nome do ramo a obter do repositório.

  • recurseSubmodules: "true|false": se deve obter submódulos.

  • DEPTH: opcional, a profundidade do histórico do repositório a obter. Se não for especificado, é obtida a consolidação mais recente.

    • 1: a consolidação mais recente
    • 2: os dois últimos commits
    • 3: os últimos três commits
    • -1: todos os commits
  • DEST_PATH: obrigatório. O caminho para o diretório no qual o repositório é clonado. Por exemplo, my/repo.

    Quando define o dest_path, o repositório é obtido em /workspace/<dest_path>. O valor dest_path tem de ser um caminho relativo ao diretório de trabalho da compilação.

Especifique um repositório do Developer Connect como uma dependência

  • Se especificar um repositório do Developer Connect como uma dependência, tem de conceder a função Developer Connect Read Token Accessor à conta de serviço do Cloud Build. Para mais informações, consulte o artigo Conceda acesso do Cloud Build a um repositório do Developer Connect.

  • A sua compilação tem de estar na mesma região que a ligação do Developer Connect.

O que se segue?