本页介绍了如何指定 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:必填。要从代码库中提取的版本、提交的哈希、标记或分支名称。
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
角色。如需了解详情,请参阅向 Cloud Build 授予对 Developer Connect 代码库的访问权限。您的 build 必须与 Developer Connect 连接位于同一区域。