

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esempi di capacità riservata con AWS CodeBuild
<a name="reserved-capacity-samples"></a>

Questi esempi possono essere usati per sperimentare flotte a capacità riservata in. CodeBuild

**Topics**
+ [Memorizzazione nella cache con campione di capacità riservata](#reserved-capacity-samples.caching)

## Memorizzazione nella cache con campione di capacità riservata
<a name="reserved-capacity-samples.caching"></a>

Una cache memorizza parti riutilizzabili dell'ambiente di compilazione e le utilizza su più compilazioni. Questo esempio ha dimostrato come abilitare la memorizzazione nella cache all'interno del progetto di build utilizzando la capacità riservata. Per ulteriori informazioni, consulta [Creazioni di cache per migliorare le prestazioni](build-caching.md).

Puoi iniziare specificando una o più modalità cache nelle impostazioni del progetto:

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

**Nota**  
Assicurati di abilitare la modalità privilegiata per utilizzare la cache di Docker Layer.

Le impostazioni buildspec del tuo progetto dovrebbero essere simili alle seguenti:

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

Puoi iniziare eseguendo una build con il nuovo progetto per seminare la cache. Una volta completata, dovresti iniziare un'altra build con una buildspec sostitutiva, simile alla seguente:

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