

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Amostras de capacidade reservada com AWS CodeBuild
<a name="reserved-capacity-samples"></a>

Essas amostras podem ser usadas para fazer experiências com frotas de capacidade reservada em CodeBuild.

**Topics**
+ [Armazenamento em cache com amostra de capacidade reservada](#reserved-capacity-samples.caching)

## Armazenamento em cache com amostra de capacidade reservada
<a name="reserved-capacity-samples.caching"></a>

Um cache pode armazenar partes reutilizáveis do seu ambiente de build e usá-las em vários builds. Este exemplo demonstrou como habilitar o armazenamento em cache no projeto de compilação usando a capacidade reservada. Para obter mais informações, consulte [Compilações em cache para melhorar o desempenho](build-caching.md).

Você pode começar especificando um ou mais modos de cache nas configurações do projeto:

```
Cache:
        Type: LOCAL
        Modes:
          - LOCAL_CUSTOM_CACHE
          - LOCAL_DOCKER_LAYER_CACHE
          - LOCAL_SOURCE_CACHE
```

**nota**  
Habilite o modo privilegiado para usar o cache de camadas do Docker.

As configurações de especificação da compilação do projeto devem se parecer com o seguinte:

```
version: 0.2
      phases:
        build:
          commands:
            - echo testing local source cache
            - touch /codebuild/cache/workspace/foobar.txt
            - git checkout -b cached_branch
            - echo testing local docker layer cache
            - docker run alpine:3.14 2>&1 | grep 'Pulling from' || exit 1
            - echo testing local custom cache
            - touch foo
            - mkdir bar && ln -s foo bar/foo2
            - mkdir bar/bar && touch bar/bar/foo3 && touch bar/bar/foo4
            - "[ -f foo ] || exit 1"
            - "[ -L bar/foo2 ] || exit 1"
            - "[ -f bar/bar/foo3 ] || exit 1"
            - "[ -f bar/bar/foo4 ] || exit 1"
      cache:
        paths:
           - './foo'
           - './bar/**/*'
           - './bar/bar/foo3'
```

Você pode começar executando uma compilação com o novo projeto para propagar o cache. Ao concluir, você deve iniciar outra compilação com uma especificação de compilação de substituição, semelhante à seguinte:

```
version: 0.2
      phases:
        build:
          commands:
            - echo testing local source cache
            - git branch | if grep 'cached_branch'; then (exit 0); else (exit 1); fi
            - ls /codebuild/cache/workspace | if grep 'foobar.txt'; then (exit 0); else (exit 1); fi
            - echo testing local docker layer cache
            - docker run alpine:3.14 2>&1 | if grep 'Pulling from'; then (exit 1); else (exit 0); fi
            - echo testing local custom cache
            - "[ -f foo ] || exit 1"
            - "[ -L bar/foo2 ] || exit 1"
            - "[ -f bar/bar/foo3 ] || exit 1"
            - "[ -f bar/bar/foo4 ] || exit 1"
      cache:
        paths:
           - './foo'
           - './bar/**/*'
           - './bar/bar/foo3'
```