管理 build 依赖项

本页介绍了如何指定 build 依赖项。借助 Cloud Build,您可以将源代码依赖项与构建流程分开管理。

在构建配置文件中,您可以列出要为构建克隆的一个或多个 Git 代码库,以及提取它们的顺序。以这种方式指定依赖项会将依赖项提取与构建过程本身分离开来。

如果您未在构建配置文件中添加任何依赖项,Cloud Build 会克隆包含构建配置文件的源代码库(对于触发的构建),或包含源代码的代码库(对于从命令行调用的构建)。如果您在构建配置文件中添加了依赖项,Cloud Build 不会克隆 dependencies 字段中未指定的任何代码库。

您在 dependencies 字段中指定的任何源代码库都必须使用 Developer Connect 连接到 Cloud Build,或者是公共代码库

系统会按您在此配置中指定的顺序克隆依赖项。此外,在执行任何用户指定的逻辑之前,系统会先提取依赖项。因此,依赖项提取是可信的。

准备工作

本页中的说明假定您有一个或多个 Git 代码库,这些代码库要么是公共代码库,要么是使用 Developer Connect 关联的代码库,

所需的角色

如果您要添加为依赖项的任何代码库是 Developer Connect 代码库,则您的服务账号需要具有 Developer Connect Read Token Accessor 角色

除了您需要的任何其他 Cloud Build 角色之外,您还需要此角色。

指定依赖项

您可以通过向 build 配置文件中添加 dependencies 诗节来指定依赖项。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",
         },
     },
 }

替换以下值:

  • URL:可选。要提取的代码库的 HTTPS 网址。您必须指定网址或 Developer Connect 资源路径。

  • RESOURCE_PATH:可选。指向该 Developer Connect 代码库的 Google Cloud 资源路径。例如 projects/my-project/locations/us-central1/connections/my-connection/gitRepositoryLinks/my-repo。 您必须指定网址或 Developer Connect 资源路径。 如果要提取的代码库使用 Developer Connect 连接到 Cloud Build,请指定此字段。

  • REVISION:必填。要从代码库中提取的版本、提交的哈希、标记或分支名称。

  • recurseSubmodulestrue|false:是否提取子模块。

  • DEPTH:(可选)要提取的代码库历史记录的深度。如果未指定,则提取最新提交。

    • 1:最新的提交
    • 2:最后两个提交
    • 3:最近三次提交
    • -1:所有提交
  • DEST_PATH:必填。将代码库克隆到其中的目录的路径。例如 my/repo

    设置 dest_path 后,系统会在 /workspace/<dest_path> 中提取代码库。dest_path 值必须是相对路径,并且相对于 build 的工作目录。

将 Developer Connect 代码库指定为依赖项

后续步骤