本页介绍了如何指定 build 依赖项。借助 Cloud Build,您可以将源代码依赖项与构建流程分开管理。
在 build 配置文件中,您可以列出要为 build 克隆的一个或多个 Git 代码库,以及提取这些代码库的顺序。以这种方式指定依赖项可将依赖项提取与 build 过程本身分离。
如果您未在 build 配置文件中添加任何依赖项,Cloud Build 会克隆包含 build 配置文件的源代码库(对于触发的构建)或包含源代码的源代码库(对于您从命令行调用的构建)。如果您在 build 配置文件中添加了依赖项,Cloud Build 不会克隆 dependencies 字段中未指定的任何代码库。
您在 dependencies 字段中指定的任何源代码库都必须使用 Developer Connect 连接到 Cloud Build,否则必须是公共代码库。
依赖项会按照您在此配置中指定的顺序进行克隆。此外,依赖项提取会在执行任何用户指定的逻辑之前进行。因此,依赖项提取是可信的。
依赖项会显示在构建详情页面的构建依赖项标签页中。
准备工作
本页中的说明假定您有一个或多个 Git 代码库,这些代码库要么是公开代码库,要么是使用 Developer Connect 关联的代码库。
    
      如需获得将 Developer Connect 代码库添加为依赖项所需的权限,请让您的管理员为您授予服务账号的 Developer Connect Read Token Accessor (developerconnect.readTokenAccessor) IAM 角色。
  
  
  
  
  如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
  
  
指定依赖项
您可以通过向 build 配置文件添加 dependencies stanza 来指定依赖项。dependencies 是 build 配置中的顶级属性,但您可以将其放在文件中的任意位置。
以下是 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",
         },
     },
 }
您必须指定网址或资源路径。如果待提取的代码库已使用 Developer Connect 连接到 Cloud Build,请指定资源路径。
替换以下值:
- URL:可选。要提取的代码库的 HTTPS 网址。
- RESOURCE_PATH:可选。Developer Connect 代码库的 Google Cloud 资源路径。例如 - projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo。
- REVISION:必填。要从代码库中提取的版本、提交哈希、标记或分支名称。 
- recurseSubmodules:‘true|false’:是否提取子模块。
- DEPTH:可选,要提取的代码库历史记录的深度。如果未指定,则提取最新提交。 - 1:最新提交
- 2:最后两次提交
- 3:最后三个提交
- -1:所有提交
 
- DEST_PATH:必填。代码库克隆到的目录的路径。例如 - my/repo。- 设置 - dest_path后,系统会在- /workspace/<dest_path>中提取代码库。- dest_path值必须是相对于 build 工作目录的路径。
将 Developer Connect 代码库指定为依赖项
如需将 Developer Connect 代码库指定为依赖项,必须满足以下条件:
- Cloud Build 服务账号必须具有 - Developer Connect Read Token Accessor角色。
- 您的 build 必须与 Developer Connect 连接位于同一区域。