AWS::CodeBuild::Project ProjectCache - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::CodeBuild::Project ProjectCache

ProjectCacheAWS CodeBuild Project 资源的属性,用于指定有关构建项目的缓存的信息。如果未指定 ProjectCache,则其两个属性都默认为 NO_CACHE

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Location" : String, "Modes" : [ String, ... ], "Type" : String }

YAML

Location: String Modes: - String Type: String

属性

Location

有关缓存位置的信息:

  • NO_CACHELOCAL:将忽略此值。

  • S3:这是 S3 存储桶名称/前缀。

必需:否

类型:字符串

Update requires: No interruption

Modes

如果您使用 LOCAL 缓存,则为本地缓存模式。您可以同时使用一个或多个本地缓存模式。

  • LOCAL_SOURCE_CACHE 模式用于缓存主要和辅助源的 Git 元数据。创建缓存后,后续构建仅提取两次提交之间发生的更改。对于具有干净工作目录和源为大型 Git 存储库的项目,此模式是一个不错的选择。如果选择此选项并且项目不使用 Git 存储库(GitHub、GitHub Enterprise 或 Bitbucket),则此选项将被忽略。

  • LOCAL_DOCKER_LAYER_CACHE 模式用于缓存现有 Docker 层。对于构建或提取大型 Docker 映像的项目,此模式是一个不错的选择。它可以防止因从网络中提取大型 Docker 映像而导致的性能问题。

    注意
    • 您只能在 Linux 环境中使用 Docker 层缓存。

    • 必须设置 privileged 标志以使您的项目具有所需的 Docker 权限。

    • 在使用 Docker 层缓存之前,您应考虑安全影响。

  • LOCAL_CUSTOM_CACHE 模式用于缓存您在构建规格文件中指定的目录。如果您的构建方案不适合另外三种本地缓存模式之一,则此模式是一个不错的选择。如果您使用自定义缓存:

    • 只能指定目录进行缓存。不能指定单独的文件。

    • 用于引用缓存目录的符号链接。

    • 缓存目录在下载项目源代码之前链接到您的构建。如果源项目具有相同的名称,则会覆盖缓存的项目。使用 buildspec 文件中的缓存路径指定目录。

必需:否

类型:字符串列表

Update requires: No interruption

Type

构建项目所使用的缓存类型。有效值包括:

  • NO_CACHE:构建项目不使用任何缓存。

  • S3:构建项目在 S3 中进行读写。

  • LOCAL:构建项目在一个构建主机上本地存储缓存,该缓存仅对此构建主机可用。

必需:是

类型:字符串

允许的值LOCAL | NO_CACHE | S3

Update requires: No interruption

另请参阅