

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 指定本地缓存
<a name="specify-caching-local"></a>

您可以使用 AWS CLI、控制台、SDK 或 CloudFormation 来指定本地缓存。有关本地缓存的更多信息，请参阅[本地缓存](caching-local.md)。

**Topics**
+ [指定本地缓存 (CLI)](#caching-local-cli)
+ [指定本地缓存（控制台）](#caching-local-console)
+ [指定本地缓存 (CloudFormation)](#caching-local-cfn)

## 指定本地缓存 (CLI)
<a name="caching-local-cli"></a>

您可以使用中的`--cache`参数 AWS CLI 来指定三种本地缓存类型中的每一种类型。
+ 指定源缓存：

  ```
  --cache type=LOCAL,mode=[LOCAL_SOURCE_CACHE]
  ```
+ 指定 Docker 层缓存：

  ```
  --cache type=LOCAL,mode=[LOCAL_DOCKER_LAYER_CACHE]
  ```
+ 指定自定义缓存：

  ```
  --cache type=LOCAL,mode=[LOCAL_CUSTOM_CACHE]
  ```

有关更多信息，请参阅 [创建构建项目 (AWS CLI)](create-project.md#create-project-cli)。

## 指定本地缓存（控制台）
<a name="caching-local-console"></a>

您可以使用控制台的**构件**部分指定缓存。对于**缓存类型**，选择 **Amazon S3** 或**本地**。如果您选择**本地**，请选择三个本地缓存选项中的一个或多个。

![\[选择三个本地缓存选项中的一个或多个来指定本地缓存。\]](http://docs.aws.amazon.com/zh_cn/codebuild/latest/userguide/images/local-cache.png)


有关更多信息，请参阅 [创建构建项目（控制台）](create-project.md#create-project-console)。

## 指定本地缓存 (CloudFormation)
<a name="caching-local-cfn"></a>

如果使用 CloudFormation 指定本地缓存，则在`Cache`属性上，为`Type`，指定`LOCAL`。以下 YAML 格式的示例 CloudFormation 代码指定了所有三种本地缓存类型。您可以指定这些类型的任意组合。如果您使用 Docker 层缓存，在 `Environment` 下，您必须将 `PrivilegedMode` 设置为 `true`，将 `Type` 设置为 `LINUX_CONTAINER`。

```
CodeBuildProject:
    Type: AWS::CodeBuild::Project
    Properties:
      Name: MyProject
      ServiceRole: <service-role>
      Artifacts:
        Type: S3
        Location: <bucket-name>
        Name: myArtifact
        EncryptionDisabled: true
        OverrideArtifactName: true
      Environment:
        Type: LINUX_CONTAINER
        ComputeType: BUILD_GENERAL1_SMALL
        Image: aws/codebuild/standard:5.0
        Certificate: <bucket/cert.zip>
        # PrivilegedMode must be true if you specify LOCAL_DOCKER_LAYER_CACHE
        PrivilegedMode: true
      Source:
        Type: GITHUB
        Location: <github-location>
        InsecureSsl: true
        GitCloneDepth: 1
        ReportBuildStatus: false
      TimeoutInMinutes: 10
      Cache:
        Type: LOCAL
        Modes: # You can specify one or more cache mode, 
          - LOCAL_CUSTOM_CACHE
          - LOCAL_DOCKER_LAYER_CACHE
          - LOCAL_SOURCE_CACHE
```

**注意**  
默认情况下，为非 VPC 构建启用 Docker 进程守护程序。如果您想使用 Docker 容器进行 VPC 构建，请参阅 Docker 文档网站上的[运行时权限和 Linux 功能](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)并启用特权模式。此外，Windows 不支持特权模式。

有关更多信息，请参阅 [创建构建项目 (CloudFormation)](create-project.md#create-project-cloud-formation)。