

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécutez des builds sur des flottes à capacité réservée
<a name="fleets"></a>

CodeBuild propose les flottes de calcul suivantes :
+ Flottes à la demande
+ Flottes de capacité réservée

Avec des flottes à la demande, CodeBuild fournit le calcul nécessaire à vos builds. Les machines sont détruites à la fin de la construction. Les flottes à la demande sont entièrement gérées et incluent des fonctionnalités de mise à l'échelle automatique pour faire face aux pics de demande.

**Note**  
Les flottes à la demande ne sont pas compatibles avec macOS.

CodeBuild propose également des flottes de capacités réservées contenant des instances alimentées par Amazon EC2 et gérées par. CodeBuild Avec les flottes de capacité réservée, vous configurez un ensemble d'instances dédiées pour votre environnement de construction. Ces machines restent inactives, prêtes à traiter les builds ou les tests immédiatement et réduisent les durées de construction. Avec des flottes de capacité réservées, vos machines fonctionnent en permanence et continueront d'entraîner des coûts tant qu'elles seront approvisionnées.

**Important**  
Quelle que soit la durée pendant laquelle vous exécutez une instance, les flottes de capacité réservée sont facturées initialement par instance, après quoi des coûts supplémentaires peuvent être associés. Pour de plus amples informations, veuillez consulter [https://aws.amazon.com/codebuild/pricing/](https://aws.amazon.com/codebuild/pricing/).

**Topics**
+ [Création d'un parc de capacités réservées](#fleets.how-to)
+ [Bonnes pratiques](#fleets.best-practices)
+ [Puis-je partager un parc de capacités réservées entre plusieurs CodeBuild projets ?](#fleets.share)
+ [Comment fonctionne le calcul basé sur les attributs ?](#fleets.attribute-compute)
+ [Puis-je spécifier manuellement une instance Amazon EC2 pour mon parc ?](#fleets.manual-input-compute)
+ [Quelles régions prennent en charge les flottes à capacité réservée ?](#fleets.regions)
+ [Comment configurer une flotte de macOS à capacité réservée ?](#fleets.configure-macos)
+ [Comment configurer une Amazon Machine Image (AMI) personnalisée pour un parc de capacités réservées ?](#fleets.custom-ami)
+ [Limitations des flottes à capacité réservée](#fleets.limitations)
+ [Propriétés du parc à capacité réservée](fleets.reserved-capacity-fleets.md)
+ [Échantillons de capacité réservée avec AWS CodeBuild](reserved-capacity-samples.md)

## Création d'un parc de capacités réservées
<a name="fleets.how-to"></a>

Suivez les instructions ci-dessous pour créer un parc de capacités réservées.

**Pour créer un parc de capacités réservées**

1. Connectez-vous à la AWS CodeBuild console AWS Management Console et ouvrez-la sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Dans le volet de navigation, choisissez **Compute fleets**, puis **Create Fleet**.

1. Dans le champ de texte **Calculer le nom du parc**, saisissez le nom de votre parc.

1. Dans le menu déroulant **Système d'exploitation**, sélectionnez le système d'exploitation.

1. Dans le menu déroulant **Architecture**, sélectionnez l'architecture.

1. (Facultatif) Sélectionnez **Utiliser le mode d'exécution de l'instance. Facultatif** pour exécuter directement sur une instance Amazon EC2 au lieu d'un conteneur Docker. Choisissez ensuite une **version majeure** et une **version mineure**.

1. (Facultatif) Dans **Configuration supplémentaire**, procédez comme suit :
   + Sélectionnez **Configurer le VPC - facultatif** pour connecter votre flotte à un VPC afin d'accéder à des ressources privées pendant l'utilisation.
     + Dans le menu déroulant **VPC**, sélectionnez un VPC auquel votre CodeBuild flotte aura accès.
     + Dans le menu déroulant **Sous-réseaux**, sélectionnez les sous-réseaux à utiliser CodeBuild pour configurer votre configuration VPC.
     + Dans le menu déroulant **Groupes de sécurité**, sélectionnez les groupes de sécurité CodeBuild à utiliser pour fonctionner avec votre VPC.
     + Dans le champ **Rôle de service de flotte**, choisissez un rôle de service existant.
**Note**  
Assurez-vous que votre rôle dans la flotte dispose des autorisations nécessaires. Pour de plus amples informations, veuillez consulter [Autoriser un utilisateur à ajouter une politique d'autorisation pour un rôle de service de flotte](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).
     + Si vous avez choisi le système d'exploitation Amazon Linux, sélectionnez **Définir les configurations de proxy (facultatif)** pour appliquer le contrôle d'accès réseau à vos instances à capacité réservée.
     + Pour **Comportement par défaut**, choisissez d'autoriser ou de refuser le trafic sortant vers toutes les destinations par défaut.
     + Pour les **règles de proxy**, choisissez **Ajouter une règle de proxy** pour spécifier les domaines de destination ou IPs pour autoriser ou refuser le contrôle d'accès au réseau.
   + Sélectionnez **Configurer une AMI personnalisée. Cette option est facultative** pour utiliser une Amazon Machine Image (AMI) personnalisée.
     + Dans le menu déroulant **AMI**, sélectionnez une Amazon Machine Image (AMI) pour votre flotte.
     + Dans le champ **Rôle de service de flotte**, choisissez un rôle de service existant.
**Note**  
Assurez-vous que votre rôle dans la flotte dispose des autorisations nécessaires. Pour de plus amples informations, veuillez consulter [Autoriser un utilisateur à ajouter une politique d'autorisation pour un rôle de service de flotte](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).

1. Dans **Configuration de la capacité**, dans **Mode de sélection de calcul**, choisissez l'une des options suivantes :
   + Si vous choisissez **Sélection guidée**, procédez comme suit :
     + Pour **Compute**, choisissez le type d'instances inclus dans ce parc.
     + Dans le champ **de texte Capacité**, entrez le nombre minimum d'instances dans le parc.
     + (Facultatif) Dans **Configuration supplémentaire**, procédez comme suit :
       + Sélectionnez **Configurer le dimensionnement : facultatif** pour redimensionner automatiquement votre flotte en fonction de cette configuration. Dans le menu déroulant **optionnel Mode de mise à l'échelle**, choisissez le comportement à adopter lorsque la demande dépasse la capacité de la flotte.
   + Si vous choisissez **Instance personnalisée**, procédez comme suit :
     + Dans le menu déroulant **Calculer le type d'instance**, sélectionnez le type d'instances inclus dans ce parc.
     + Dans le champ de texte **Taille de volume EBS supplémentaire - facultatif**, entrez le volume supplémentaire aux 64 Go d'espace disque fournis.
     + Dans le champ **de texte Capacité**, entrez le nombre minimum d'instances dans le parc.
     + (Facultatif) Dans **Configuration supplémentaire**, procédez comme suit :
       + Sélectionnez **Configurer le dimensionnement : facultatif** pour redimensionner automatiquement votre flotte en fonction de cette configuration. Dans le menu déroulant **optionnel Mode de mise à l'échelle**, choisissez le comportement à adopter lorsque la demande dépasse la capacité de la flotte.

1. Choisissez **Créer un parc informatique**.

1. Une fois le parc informatique créé, créez un nouveau CodeBuild projet ou modifiez un projet existant. Dans **Environnement**, choisissez **Capacité réservée** sous **Modèle de provisionnement**, puis choisissez le parc spécifié sous **Nom du parc**.

## Bonnes pratiques
<a name="fleets.best-practices"></a>

Lorsque vous utilisez des flottes de capacité réservée, nous vous recommandons de suivre ces bonnes pratiques.
+ Nous vous recommandons d'utiliser le mode de cache source pour améliorer les performances de génération en mettant en cache la source.
+ Nous vous recommandons d'utiliser la mise en cache des couches Docker pour améliorer les performances de création en mettant en cache les couches Docker existantes.

## Puis-je partager un parc de capacités réservées entre plusieurs CodeBuild projets ?
<a name="fleets.share"></a>

Oui, vous pouvez optimiser l'utilisation de la capacité d'une flotte en l'utilisant dans le cadre de plusieurs projets.

**Important**  
Lorsque vous utilisez la fonctionnalité de capacité réservée, les données mises en cache sur les instances de flotte, y compris les fichiers source, les couches Docker et les répertoires mis en cache spécifiés dans les spécifications de construction, peuvent être accessibles aux autres projets du même compte. Cela est intentionnel et permet aux projets au sein d'un même compte de partager des instances de flotte.

## Comment fonctionne le calcul basé sur les attributs ?
<a name="fleets.attribute-compute"></a>

Si vous choisissez `ATTRIBUTE_BASED_COMPUTE` celui de votre flotte`computeType`, vous pouvez spécifier les attributs dans un nouveau champ appelé`computeConfiguration`. Ces attributs incluent vCPUs, la mémoire, l'espace disque et le`machineType`. C'`machineType`est l'un `GENERAL` ou l'autre`NVME`. Après avoir spécifié un ou plusieurs des attributs disponibles, il CodeBuild choisira un type de calcul parmi les types d'instances pris en charge disponibles une fois finalisé`computeConfiguration`.

**Note**  
CodeBuild choisira l'instance la moins chère qui répond à toutes les exigences de saisie. La mémoire, le v CPUs et l'espace disque des instances choisies seront tous supérieurs ou égaux aux exigences d'entrée. Vous pouvez vérifier les problèmes résolus `computeConfiguration` dans le parc créé ou mis à jour.

Si vous saisissez un `computeConfiguration` qu'il n'est pas possible de satisfaire CodeBuild, vous recevrez une exception de validation. Notez également que le comportement de dépassement de flotte à la demande sera remplacé par le comportement de file d'attente s'il n'`computeConfiguration`est pas disponible pour la demande.

## Puis-je spécifier manuellement une instance Amazon EC2 pour mon parc ?
<a name="fleets.manual-input-compute"></a>

Oui, vous pouvez saisir directement l'instance Amazon EC2 souhaitée dans la console en sélectionnant **Instance personnalisée** ou en configurant le paramètre API,. `InstanceType` Ce champ est utilisé dans les cas suivants APIs : CreateFleet UpdateFleet, CreateProject, UpdateProject et StartBuild. Pour de plus amples informations, veuillez consulter [Compute instance type](fleets.reserved-capacity-fleets.md#compute).

## Quelles régions prennent en charge les flottes à capacité réservée ?
<a name="fleets.regions"></a>

Capacité réservée Les flottes Amazon Linux et Windows sont prises en charge dans les pays suivants Régions AWS : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Oregon), Asie-Pacifique (Mumbai), Asie-Pacifique (Singapour), Asie-Pacifique (Sydney), Asie-Pacifique (Tokyo), Europe (Francfort), Europe (Irlande) et Amérique du Sud (São Paulo). Pour plus d'informations sur Régions AWS les CodeBuild zones disponibles, consultez la section [AWS Services par région](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

Capacité réservée Les flottes macOS Medium sont prises en charge dans les pays suivants Régions AWS : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Oregon), Asie-Pacifique (Sydney) et Europe (Francfort). Capacité réservée Les grandes flottes macOS sont prises en charge dans les pays suivants Régions AWS : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Oregon) et Asie-Pacifique (Sydney).

## Comment configurer une flotte de macOS à capacité réservée ?
<a name="fleets.configure-macos"></a>

**Pour configurer un parc macOS à capacité réservée**

1. Connectez-vous à la AWS CodeBuild console AWS Management Console et ouvrez-la sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Dans le volet de navigation, choisissez **Compute fleets**, puis **Create Fleet**.

1. Dans le champ de texte **Calculer le nom du parc**, saisissez le nom de votre parc.

1. Dans le menu déroulant **Système d'exploitation**, sélectionnez **macOS**.

1. Dans le champ **Calcul**, sélectionnez l'un des types de machines de calcul suivants : **Apple M2, 24 Go de mémoire, 8 V CPUs** ou **Apple M2, 32 Go de mémoire, 12 CPUs V.**

1. Dans le champ **de texte Capacité**, entrez le nombre minimum d'instances dans le parc.

1. (Facultatif) Pour utiliser une image personnalisée pour votre flotte[Comment configurer une Amazon Machine Image (AMI) personnalisée pour un parc de capacités réservées ?](#fleets.custom-ami), assurez-vous que votre Amazon Machine Image (AMI) répond aux exigences requises.

1. (Facultatif) Pour configurer un VPC avec votre flotte, dans **Configuration supplémentaire**, procédez comme suit :
   + Dans le menu déroulant **VPC - facultatif**, sélectionnez un VPC auquel votre CodeBuild flotte aura accès.
   + Dans le menu déroulant **Sous-réseaux**, sélectionnez les sous-réseaux à utiliser CodeBuild pour configurer votre configuration VPC.
   + Dans le menu déroulant **Groupes de sécurité**, sélectionnez les groupes de sécurité CodeBuild à utiliser pour fonctionner avec votre VPC.
   + Dans le champ **Rôle de service de flotte**, choisissez un rôle de service existant.
**Note**  
Assurez-vous que votre rôle dans la flotte dispose des autorisations nécessaires. Pour de plus amples informations, veuillez consulter [Autoriser un utilisateur à ajouter une politique d'autorisation pour un rôle de service de flotte](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).

1. Choisissez **Créer une flotte de calcul** et attendez que l'instance de flotte soit lancée. Une fois lancée, la capacité sera`n/n`, où *n* est la capacité fournie ?

1. Une fois le parc informatique lancé, créez un nouveau CodeBuild projet ou modifiez un projet existant. Dans **Environnement**, choisissez **Capacité réservée** sous **Modèle de provisionnement**, puis choisissez le parc spécifié sous **Nom du parc**.

## Comment configurer une Amazon Machine Image (AMI) personnalisée pour un parc de capacités réservées ?
<a name="fleets.custom-ami"></a>

**Pour configurer une Amazon Machine Image (AMI) personnalisée pour un parc de capacités réservées**

1. Connectez-vous à la AWS CodeBuild console AWS Management Console et ouvrez-la sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Dans le volet de navigation, choisissez **Compute fleets**, puis **Create Fleet**.

1. Dans le champ de texte **Calculer le nom du parc**, saisissez le nom de votre parc.

1. Choisissez **une image personnalisée** pour votre flotte et assurez-vous que votre Amazon Machine Image (AMI) répond aux exigences suivantes :
   + Si votre type d'environnement est `MAC_ARM` le cas, assurez-vous que votre **architecture** AMI est 64 bits`Mac-Arm`.
   + Si votre type d'environnement est `LINUX_EC2` le cas, assurez-vous que votre **architecture** AMI est 64 bits`x86`.
   + Si votre type d'environnement est `ARM_EC2` le cas, assurez-vous que votre **architecture** AMI est 64 bits`Arm`.
   + Si votre type d'environnement est `WINDOWS_EC2` le cas, assurez-vous que votre **architecture** AMI est 64 bits`x86`.
   + L'AMI autorise le CodeBuild service **Organization ARN**. Pour une liste des organisations ARNs, voir[Amazon Machine Images (AMI)](fleets.reserved-capacity-fleets.md#ami).
   + Si l'AMI est chiffrée à l'aide d'une AWS KMS clé, AWS KMS celle-ci doit également autoriser l'**ID d'organisation** du CodeBuild service. Pour une liste des organisations IDs, voir[Amazon Machine Images (AMI)](fleets.reserved-capacity-fleets.md#ami). Pour plus d'informations sur AWS KMS les clés, consultez [Autoriser les organisations et OUs utiliser une clé KMS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html#allow-org-ou-to-use-key) dans le guide de l'*utilisateur Amazon EC2*. Pour autoriser CodeBuild l'organisation à utiliser une clé KMS, ajoutez la déclaration suivante à la politique de clé :

     ```
     {
         "Sid": "Allow access for organization root",
         "Effect": "Allow",
         "Principal": "*",
         "Action": [
             "kms:Describe*",
             "kms:List*",
             "kms:Get*",
             "kms:Encrypt",
             "kms:Decrypt",
             "kms:ReEncrypt*",
             "kms:GenerateDataKey*",
             "kms:CreateGrant"
         ],
         "Resource": "*",
         "Condition": {
             "StringEquals": {
                 "aws:PrincipalOrgID": "o-123example"
             }
         }
     }
     ```
   + Dans le champ **Rôle du service de flotte**, accordez les autorisations Amazon EC2 suivantes :

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                    "ec2:DescribeImages",
                    "ec2:DescribeSnapshots"
                 ],
                 "Resource": "*"
             }
         ]
     }
     ```

------

## Limitations des flottes à capacité réservée
<a name="fleets.limitations"></a>

Il existe certains cas d'utilisation que les flottes de capacité réservée ne prennent pas en charge, et s'ils vous concernent, utilisez plutôt des flottes à la demande :
+ Les flottes de capacité réservée ne prennent pas en charge les indicateurs d'utilisation des builds.
+ Les flottes de macOS à capacité réservée ne prennent pas en charge les sessions de débogage.

Pour plus d'informations sur les limites et les quotas, consultez[Flottes informatiques](limits.md#fleet-limits).

# Propriétés du parc à capacité réservée
<a name="fleets.reserved-capacity-fleets"></a>

Un parc à capacité réservée contient les propriétés suivantes. Pour plus d'informations sur les flottes de capacité réservée, consultez[Exécutez des builds sur des flottes à capacité réservée](fleets.md). 

**Système d’exploitation**  
Le système d'exploitation. Les systèmes d'exploitation suivants sont disponibles :  
+ Amazon Linux
+ macOS
+ Windows Server 2019
+ Windows Server 2022

**Architecture**  
L'architecture du processeur. Les architectures disponibles sont les suivantes :  
+ x86\$164
+ Bras 64

**Type d'environnement**  
Les types d'environnement disponibles lorsque **Amazon Linux** est sélectionné. Les types d'environnement suivants sont disponibles :  
+ Linux EC2
+ GPU Linux

**Type d'instance de calcul**  
Les configurations de calcul pour les instances de flotte.    
**Sélection guidée**  
Spécifiez différents types de calcul en sélectionnant les paramètres du vCPU, de la mémoire et de l'espace disque. Pour plus d'informations sur la disponibilité des types de calcul par région, consultez[À propos des types d'environnement de capacité réservée](build-env-ref-compute-types.md#environment-reserved-capacity.types).  
**Instance personnalisée**  
Spécifiez manuellement le type d'instance souhaité.

**Capacity**  
Le nombre initial de machines allouées au parc, qui définit le nombre de builds pouvant être exécutés en parallèle.

**Comportement de débordement**  
Définit le comportement lorsque le nombre de builds dépasse la capacité de la flotte.    
**À la demande**  
Les versions Overflow s'exécutent CodeBuild à la demande.  
Si vous choisissez de définir votre comportement de débordement à la demande lors de la création d'une flotte connectée au VPC, assurez-vous d'ajouter les autorisations VPC requises à votre rôle de service de projet. Pour plus d'informations, consultez [Exemple de déclaration de politique autorisant CodeBuild l'accès aux AWS services nécessaires à la création d'une interface réseau VPC](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-create-vpc-network-interface).
Si vous choisissez de définir votre comportement de débordement à la demande, notez que les versions de débordement seront facturées séparément, comme pour Amazon EC2 à la demande. Pour de plus amples informations, veuillez consulter [https://aws.amazon.com/codebuild/pricing/](https://aws.amazon.com/codebuild/pricing/).  
**File d'attente**  
Les cycles de build sont placés dans une file d'attente jusqu'à ce qu'une machine soit disponible. Cela limite les coûts supplémentaires car aucune machine supplémentaire n'est allouée.

**Amazon Machine Images (AMI)**  
Les propriétés Amazon Machine Image (AMI) de votre flotte. Les propriétés suivantes sont prises en charge par CodeBuild :      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/fleets.reserved-capacity-fleets.html)

**Configuration supplémentaire**    
**VPC - en option**  
Le VPC auquel votre CodeBuild flotte aura accès. Pour de plus amples informations, veuillez consulter [Utilisation AWS CodeBuild avec Amazon Virtual Private Cloud](vpc-support.md).  
Si une dérogation de flotte est spécifiée lors de l'appel de l' StartBuild API, la configuration VPC du projet CodeBuild sera ignorée.  
**Sous-réseaux**  
Les sous-réseaux VPC CodeBuild utilisés pour configurer votre configuration VPC. Notez que les flottes de capacité réservée ne prennent en charge qu'un seul sous-réseau dans une seule zone de disponibilité. Assurez-vous également que vos sous-réseaux incluent une passerelle NAT.  
**Groupes de sécurité**  
Les groupes de sécurité VPC CodeBuild utilisés avec votre VPC. Assurez-vous que vos groupes de sécurité autorisent les connexions sortantes.  
**Rôle du service de flotte**  
Définit le rôle de service de votre flotte à partir d'un rôle de service existant dans votre compte.  
**Définir les configurations de proxy (facultatif)**  
Configurations de proxy qui appliquent un contrôle d'accès réseau à vos instances de capacité réservée. Pour de plus amples informations, veuillez consulter [Utilisation AWS CodeBuild avec un serveur proxy géré](run-codebuild-in-managed-proxy-server.md).  
Les configurations de proxy ne sont pas compatibles avec VPC, Windows ou macOS.  
**Comportement par défaut**  
Définit le comportement du trafic sortant.    
**Allow**  
Autorise le trafic sortant vers toutes les destinations par défaut.  
**Refuser**  
Refuse le trafic sortant vers toutes les destinations par défaut.  
**Règles relatives au proxy**  
Spécifie les domaines de destination ou IPs pour autoriser ou refuser le contrôle d'accès au réseau.

# Échantillons de capacité réservée avec AWS CodeBuild
<a name="reserved-capacity-samples"></a>

Ces échantillons peuvent être utilisés pour expérimenter avec des flottes de capacité réservée dans CodeBuild.

**Topics**
+ [Exemple de mise en cache avec capacité réservée](#reserved-capacity-samples.caching)

## Exemple de mise en cache avec capacité réservée
<a name="reserved-capacity-samples.caching"></a>

Un cache peut stocker les éléments réutilisables de votre environnement de génération et les utiliser sur plusieurs générations. Cet exemple montre comment activer la mise en cache dans votre projet de construction en utilisant une capacité réservée. Pour de plus amples informations, veuillez consulter [Des mises en cache pour améliorer les performances](build-caching.md).

Vous pouvez commencer par spécifier un ou plusieurs modes de cache dans les paramètres de votre projet :

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

**Note**  
Assurez-vous d'activer le mode privilégié afin d'utiliser le cache de couche Docker.

Les paramètres buildspec de votre projet doivent ressembler à ce qui suit :

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

Vous pouvez commencer par exécuter une compilation avec le nouveau projet pour démarrer le cache. Une fois cette opération terminée, vous devez commencer une autre version avec une spécification de construction alternative, similaire à ce qui suit :

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