

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Muestras de capacidad reservadas con AWS CodeBuild
<a name="reserved-capacity-samples"></a>

Estos ejemplos se pueden utilizar para experimentar con flotas de capacidad reservada. CodeBuild

**Topics**
+ [Ejemplo de almacenamiento en caché con capacidad reservada](#reserved-capacity-samples.caching)

## Ejemplo de almacenamiento en caché con capacidad reservada
<a name="reserved-capacity-samples.caching"></a>

Una caché puede almacenar fragmentos reutilizables del entorno de compilación y utilizarlos en diferentes compilaciones. En este ejemplo se muestra cómo habilitar el almacenamiento en caché dentro de su proyecto de compilación utilizando la capacidad reservada. Para obtener más información, consulte [Almacenamiento de las compilaciones en caché para mejorar el rendimiento](build-caching.md).

Puede empezar por especificar uno o varios modos de caché en la configuración de su proyecto:

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

**nota**  
Asegúrese de habilitar el modo con privilegios para utilizar la caché de capas de Docker.

La configuración de la especificación de compilación de su proyecto debe tener el aspecto siguiente:

```
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'
```

Puede empezar por ejecutar una compilación con el nuevo proyecto para propagar la caché. Una vez hecho esto, debe empezar otra compilación con una especificación de compilación de anulación, similar a la siguiente:

```
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'
```