

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Jalankan build di atas armada kapasitas cadangan
<a name="fleets"></a>

CodeBuild menawarkan armada komputasi berikut:
+ Armada sesuai permintaan
+ Armada kapasitas cadangan

Dengan armada sesuai permintaan, CodeBuild menyediakan komputasi untuk build Anda. Mesin-mesin dihancurkan saat build selesai. Armada sesuai permintaan dikelola sepenuhnya, dan mencakup kemampuan penskalaan otomatis untuk menangani lonjakan permintaan.

**catatan**  
Fleets sesuai permintaan tidak mendukung macOS.

CodeBuild juga menawarkan armada kapasitas cadangan yang berisi instans yang didukung oleh Amazon EC2 yang dikelola oleh. CodeBuild Dengan armada kapasitas cadangan, Anda mengonfigurasi satu set instans khusus untuk lingkungan build Anda. Mesin ini tetap menganggur, siap untuk memproses build atau pengujian segera dan mengurangi durasi build. Dengan armada kapasitas cadangan, mesin Anda selalu berjalan dan akan terus mengeluarkan biaya selama disediakan.

**penting**  
Terlepas dari berapa lama Anda menjalankan instance, armada kapasitas cadangan dikenakan biaya awal per instance, dan kemudian mungkin ada biaya terkait tambahan. Untuk informasi selengkapnya, lihat [https://aws.amazon.com/codebuild/pricing/](https://aws.amazon.com/codebuild/pricing/).

**Topics**
+ [

## Buat armada kapasitas cadangan
](#fleets.how-to)
+ [

## Praktik terbaik
](#fleets.best-practices)
+ [

## Dapatkah saya berbagi armada kapasitas cadangan di beberapa CodeBuild proyek?
](#fleets.share)
+ [

## Bagaimana cara kerja komputasi berbasis atribut?
](#fleets.attribute-compute)
+ [

## Bisakah saya menentukan instans Amazon EC2 secara manual untuk armada saya?
](#fleets.manual-input-compute)
+ [

## Wilayah mana yang mendukung armada kapasitas cadangan?
](#fleets.regions)
+ [

## Bagaimana cara mengonfigurasi armada macOS berkapasitas cadangan?
](#fleets.configure-macos)
+ [

## Bagaimana cara mengonfigurasi Amazon Machine Image (AMI) khusus untuk armada kapasitas cadangan?
](#fleets.custom-ami)
+ [

## Keterbatasan armada kapasitas cadangan
](#fleets.limitations)
+ [

# Properti armada kapasitas cadangan
](fleets.reserved-capacity-fleets.md)
+ [

# Sampel kapasitas cadangan dengan AWS CodeBuild
](reserved-capacity-samples.md)

## Buat armada kapasitas cadangan
<a name="fleets.how-to"></a>

Gunakan petunjuk berikut untuk membuat armada kapasitas cadangan.

**Untuk membuat armada kapasitas cadangan**

1. Masuk ke Konsol Manajemen AWS dan buka AWS CodeBuild konsol di [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. **Di panel navigasi, pilih **Compute fleet, lalu pilih Create Fleet**.**

1. Di bidang teks **Compute fleet name**, masukkan nama untuk armada Anda.

1. Dari menu drop-down **sistem operasi**, pilih sistem operasi.

1. Dari menu drop-down **Architecture**, pilih arsitektur.

1. (Opsional) Pilih **Gunakan mode berjalan instance - opsional** untuk dijalankan pada instans Amazon EC2 secara langsung, bukan wadah Docker. Kemudian pilih **versi Major dan versi** **Minor**.

1. (Opsional) Dalam **konfigurasi tambahan** lakukan hal berikut:
   + Pilih **Konfigurasi VPC - opsional** untuk menghubungkan armada Anda ke VPC untuk mengakses sumber daya pribadi selama penggunaan.
     + Dari menu tarik-turun **VPC**, pilih VPC yang akan diakses armada Anda. CodeBuild 
     + Dari menu tarik-turun **Subnet**, pilih subnet yang CodeBuild harus digunakan untuk mengatur konfigurasi VPC Anda.
     + Dari menu tarik-turun **Grup keamanan**, pilih grup keamanan yang CodeBuild harus digunakan untuk bekerja dengan VPC Anda.
     + Di bidang **Peran Layanan Armada**, pilih peran layanan yang ada.
**catatan**  
Pastikan peran armada Anda memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat [Izinkan pengguna menambahkan kebijakan izin untuk peran layanan armada](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).
     + Jika Anda memilih sistem operasi Amazon Linux, pilih **Tentukan konfigurasi proxy - opsional** untuk menerapkan kontrol akses jaringan untuk instance kapasitas cadangan Anda.
     + Untuk **perilaku Default**, pilih untuk mengizinkan atau menolak lalu lintas keluar ke semua tujuan secara default.
     + Untuk **aturan Proxy**, pilih **Tambahkan aturan proxy** untuk menentukan domain tujuan atau IPs untuk mengizinkan atau menolak kontrol akses jaringan.
   + Pilih **Konfigurasi AMI kustom - opsional** untuk menggunakan Amazon Machine Image (AMI) kustom.
     + Dari menu tarik-turun **AMI**, pilih Amazon Machine Image (AMI) untuk armada Anda.
     + Di bidang **Peran Layanan Armada**, pilih peran layanan yang ada.
**catatan**  
Pastikan peran armada Anda memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat [Izinkan pengguna menambahkan kebijakan izin untuk peran layanan armada](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).

1. Dalam **konfigurasi Kapasitas**, dari **mode pemilihan Komputasi**, pilih salah satu dari berikut ini:
   + Jika Anda memilih **Pilihan terpandu**, lakukan hal berikut:
     + Untuk **Compute**, pilih jenis instance yang disertakan dalam armada ini.
     + Di bidang teks **Kapasitas**, masukkan jumlah minimum instance dalam armada.
     + (Opsional) Dalam **konfigurasi tambahan** lakukan hal berikut:
       + Pilih **Konfigurasi penskalaan - opsional** untuk menskalakan armada Anda secara otomatis berdasarkan konfigurasi ini. Dari **mode Penskalaan - menu tarik-turun opsional**, pilih perilaku saat permintaan melebihi kapasitas armada.
   + Jika Anda memilih **contoh Custom**, lakukan hal berikut:
     + Dari menu drop-down **Compute instance type**, pilih jenis instance yang disertakan dalam armada ini.
     + Dalam **ukuran volume EBS tambahan - bidang teks opsional**, masukkan volume tambahan ke 64GB ruang disk yang disediakan.
     + Di bidang teks **Kapasitas**, masukkan jumlah minimum instance dalam armada.
     + (Opsional) Dalam **konfigurasi tambahan** lakukan hal berikut:
       + Pilih **Konfigurasi penskalaan - opsional** untuk menskalakan armada Anda secara otomatis berdasarkan konfigurasi ini. Dari **mode Penskalaan - menu tarik-turun opsional**, pilih perilaku saat permintaan melebihi kapasitas armada.

1. Pilih **Buat armada komputasi**.

1. Setelah armada komputasi dibuat, buat CodeBuild proyek baru atau edit yang sudah ada. Dari **Lingkungan**, pilih **Kapasitas cadangan** di bawah **Model penyediaan**, lalu pilih armada yang ditentukan dengan nama **Armada**.

## Praktik terbaik
<a name="fleets.best-practices"></a>

Saat menggunakan armada kapasitas cadangan, kami sarankan Anda mengikuti praktik terbaik ini.
+ Sebaiknya gunakan mode cache sumber untuk membantu meningkatkan kinerja build dengan menyimpan sumber.
+ Kami merekomendasikan penggunaan cache lapisan Docker untuk membantu meningkatkan kinerja build dengan menyimpan lapisan Docker yang ada.

## Dapatkah saya berbagi armada kapasitas cadangan di beberapa CodeBuild proyek?
<a name="fleets.share"></a>

Ya, Anda dapat memaksimalkan pemanfaatan kapasitas armada dengan menggunakannya di beberapa proyek.

**penting**  
Saat menggunakan fitur kapasitas cadangan, data yang di-cache pada instance armada, termasuk file sumber, lapisan Docker, dan direktori cache yang ditentukan dalam buildspec, dapat diakses oleh proyek lain dalam akun yang sama. Ini dirancang dan memungkinkan proyek dalam akun yang sama untuk berbagi instance armada.

## Bagaimana cara kerja komputasi berbasis atribut?
<a name="fleets.attribute-compute"></a>

Jika Anda memilih `ATTRIBUTE_BASED_COMPUTE` sebagai armada`computeType`, Anda dapat menentukan atribut di bidang baru yang disebut`computeConfiguration`. Atribut ini termasuk vCPUs, memori, ruang disk, dan file`machineType`. Ini `machineType` salah satu `GENERAL` atau`NVME`. Setelah menentukan satu atau beberapa atribut yang tersedia, CodeBuild akan memilih jenis komputasi dari jenis instance yang didukung yang tersedia sebagai finalisasi. `computeConfiguration`

**catatan**  
CodeBuild akan memilih instance termurah yang cocok dengan semua persyaratan input. Memori, vCPUs, dan ruang disk instance yang dipilih semuanya akan lebih besar dari atau sama dengan persyaratan input. Anda dapat memeriksa yang diselesaikan `computeConfiguration` dalam armada yang dibuat atau diperbarui.

Jika Anda memasukkan `computeConfiguration` yang tidak mungkin untuk dipenuhi CodeBuild, Anda akan menerima pengecualian validasi. Perhatikan juga bahwa perilaku overflow armada sesuai permintaan akan diganti ke perilaku antrian jika tidak tersedia untuk sesuai permintaan. `computeConfiguration`

## Bisakah saya menentukan instans Amazon EC2 secara manual untuk armada saya?
<a name="fleets.manual-input-compute"></a>

Ya, Anda dapat langsung memasukkan instans Amazon EC2 yang Anda inginkan di konsol dengan memilih **Instans khusus** atau dengan mengonfigurasi parameter API,. `InstanceType` Bidang ini digunakan sebagai berikut APIs: CreateFleet, UpdateFleet, CreateProject, UpdateProject dan StartBuild. Untuk informasi selengkapnya, lihat [Compute instance type](fleets.reserved-capacity-fleets.md#compute).

## Wilayah mana yang mendukung armada kapasitas cadangan?
<a name="fleets.regions"></a>

Kapasitas cadangan armada Amazon Linux dan Windows didukung sebagai berikut Wilayah AWS: AS Timur (Virginia N.), AS Timur (Ohio), AS Barat (Oregon), Asia Pasifik (Mumbai), Asia Pasifik (Singapura), Asia Pasifik (Sydney), Asia Pasifik (Tokyo), Eropa (Frankfurt), Eropa (Irlandia), dan Amerika Selatan (São Paulo). Untuk informasi selengkapnya tentang Wilayah AWS tempat CodeBuild tersedia, lihat [AWS Layanan menurut Wilayah](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

Armada macOS Medium berkapasitas cadangan didukung sebagai berikut Wilayah AWS: US East (Virginia N.), US East (Ohio), US West (Oregon), Asia Pasifik (Sydney), dan Eropa (Frankfurt). Kapasitas cadangan macOS Armada besar didukung sebagai berikut Wilayah AWS: US East (Virginia N.), US East (Ohio), US West (Oregon), dan Asia Pasifik (Sydney).

## Bagaimana cara mengonfigurasi armada macOS berkapasitas cadangan?
<a name="fleets.configure-macos"></a>

**Untuk mengonfigurasi armada macOS berkapasitas cadangan**

1. Masuk ke Konsol Manajemen AWS dan buka AWS CodeBuild konsol di [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. **Di panel navigasi, pilih **Compute fleet, lalu pilih Create Fleet**.**

1. Di bidang teks **Compute fleet name**, masukkan nama untuk armada Anda.

1. Dari menu tarik-turun **sistem operasi**, pilih **macOS**.

1. Di bidang **Compute**, pilih salah satu jenis mesin komputasi berikut: **Apple M2, memori 24 GB, 8 v CPUs** atau **Apple M2, memori 32 GB, 12** v. CPUs

1. Di bidang teks **Kapasitas**, masukkan jumlah minimum instance dalam armada.

1. (Opsional) Untuk menggunakan gambar kustom untuk armada Anda, lihat [Bagaimana cara mengonfigurasi Amazon Machine Image (AMI) khusus untuk armada kapasitas cadangan?](#fleets.custom-ami) untuk memastikan bahwa Amazon Machine Image (AMI) Anda memiliki prasyarat yang diperlukan.

1. (Opsional) Untuk mengonfigurasi VPC dengan armada Anda, dalam **Konfigurasi tambahan** lakukan hal berikut:
   + Dari **VPC - menu tarik-turun opsional**, pilih VPC yang akan diakses armada Anda. CodeBuild 
   + Dari menu tarik-turun **Subnet**, pilih subnet yang CodeBuild harus digunakan untuk mengatur konfigurasi VPC Anda.
   + Dari menu tarik-turun **Grup keamanan**, pilih grup keamanan yang CodeBuild harus digunakan untuk bekerja dengan VPC Anda.
   + Di bidang **peran layanan Armada**, pilih peran layanan yang ada.
**catatan**  
Pastikan peran armada Anda memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat [Izinkan pengguna menambahkan kebijakan izin untuk peran layanan armada](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).

1. Pilih **Buat armada komputasi** dan tunggu instance armada diluncurkan. Setelah diluncurkan kapasitas akan berada`n/n`, di *n* mana kapasitas yang disediakan.

1. Setelah armada komputasi diluncurkan, buat CodeBuild proyek baru atau edit yang sudah ada. Dari **Lingkungan**, pilih **Kapasitas cadangan** di bawah **Model penyediaan**, lalu pilih armada yang ditentukan dengan nama **Armada**.

## Bagaimana cara mengonfigurasi Amazon Machine Image (AMI) khusus untuk armada kapasitas cadangan?
<a name="fleets.custom-ami"></a>

**Untuk mengonfigurasi Amazon Machine Image (AMI) khusus untuk armada kapasitas cadangan**

1. Masuk ke Konsol Manajemen AWS dan buka AWS CodeBuild konsol di [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. **Di panel navigasi, pilih **Compute fleet, lalu pilih Create Fleet**.**

1. Di bidang teks **Compute fleet name**, masukkan nama untuk armada Anda.

1. Pilih **Custom image** untuk armada Anda dan pastikan Amazon Machine Image (AMI) Anda memiliki prasyarat berikut:
   + Jika tipe lingkungan Anda`MAC_ARM`, pastikan **Arsitektur** AMI Anda 64-bit`Mac-Arm`.
   + Jika tipe lingkungan Anda`LINUX_EC2`, pastikan **Arsitektur** AMI Anda 64-bit`x86`.
   + Jika tipe lingkungan Anda`ARM_EC2`, pastikan **Arsitektur** AMI Anda 64-bit`Arm`.
   + Jika tipe lingkungan Anda`WINDOWS_EC2`, pastikan **Arsitektur** AMI Anda 64-bit`x86`.
   + AMI memungkinkan CodeBuild **ARN Organisasi** layanan. Untuk daftar Organisasi ARNs, lihat[Amazon Machine Images (AMI)](fleets.reserved-capacity-fleets.md#ami).
   + Jika AMI dienkripsi dengan AWS KMS kunci, kunci juga harus mengizinkan ID **Organisasi CodeBuild ** layanan. AWS KMS Untuk daftar Organisasi IDs, lihat[Amazon Machine Images (AMI)](fleets.reserved-capacity-fleets.md#ami). Untuk informasi selengkapnya tentang AWS KMS kunci, lihat [Mengizinkan organisasi dan OUs menggunakan kunci KMS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html#allow-org-ou-to-use-key) di Panduan Pengguna *Amazon EC2*. Untuk memberikan izin CodeBuild organisasi untuk menggunakan kunci KMS, tambahkan pernyataan berikut ke kebijakan kunci:

     ```
     {
         "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"
             }
         }
     }
     ```
   + Di bidang **peran layanan Armada**, berikan izin Amazon EC2 berikut:

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

****  

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

------

## Keterbatasan armada kapasitas cadangan
<a name="fleets.limitations"></a>

Ada beberapa kasus penggunaan yang tidak didukung oleh armada kapasitas cadangan, dan jika berdampak pada Anda, gunakan armada sesuai permintaan sebagai gantinya:
+ Armada kapasitas cadangan tidak mendukung metrik pemanfaatan build.
+ Armada macOS berkapasitas cadangan tidak mendukung sesi debug.

Untuk informasi lebih lanjut tentang batas dan kuota, lihat[Hitung armada](limits.md#fleet-limits).

# Properti armada kapasitas cadangan
<a name="fleets.reserved-capacity-fleets"></a>

Armada kapasitas cadangan berisi properti berikut. Untuk informasi lebih lanjut tentang armada kapasitas cadangan, lihat[Jalankan build di atas armada kapasitas cadangan](fleets.md). 

**Sistem operasi**  
Sistem operasi. Sistem operasi berikut tersedia:  
+ Amazon Linux
+ macOS
+ Windows Server 2019
+ Windows Server 2022

**Arsitektur **  
Arsitektur prosesor. Arsitektur berikut tersedia:  
+ x86\$164
+ Arm64

**Tipe lingkungan**  
Jenis lingkungan tersedia saat **Amazon Linux** dipilih. Jenis lingkungan berikut tersedia:  
+ Linux EC2
+ GPU Linux

**Jenis contoh komputasi**  
Konfigurasi komputasi untuk instance armada.    
**Seleksi terpandu**  
Tentukan jenis komputasi yang berbeda dengan memilih pengaturan vCPU, memori, dan ruang disk. Untuk informasi tentang ketersediaan jenis komputasi menurut wilayah, lihat[Tentang jenis lingkungan kapasitas cadangan](build-env-ref-compute-types.md#environment-reserved-capacity.types).  
**Contoh kustom**  
Secara manual menentukan jenis instance yang diinginkan.

**Kapasitas**  
Jumlah awal mesin yang dialokasikan untuk armada, yang mendefinisikan jumlah build yang dapat berjalan secara paralel.

**Perilaku meluap**  
Mendefinisikan perilaku ketika jumlah build melebihi kapasitas armada.    
**Sesuai permintaan**  
Build overflow berjalan sesuai permintaan. CodeBuild   
Jika Anda memilih untuk menyetel perilaku overflow ke on-demand saat membuat armada yang terhubung dengan VPC, pastikan Anda menambahkan izin VPC yang diperlukan ke peran layanan proyek Anda. Untuk informasi selengkapnya, lihat [Contoh pernyataan kebijakan untuk mengizinkan CodeBuild akses ke AWS layanan yang diperlukan untuk membuat antarmuka jaringan VPC](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-create-vpc-network-interface).
Jika Anda memilih untuk menyetel perilaku overflow ke sesuai permintaan, perhatikan bahwa build overflow akan ditagih secara terpisah, mirip dengan Amazon EC2 sesuai permintaan. Untuk informasi selengkapnya, lihat [https://aws.amazon.com/codebuild/pricing/](https://aws.amazon.com/codebuild/pricing/).  
**Antrian**  
Build run ditempatkan dalam antrian hingga mesin tersedia. Ini membatasi biaya tambahan karena tidak ada mesin tambahan yang dialokasikan.

**Gambar Mesin Amazon (AMI)**  
Properti Amazon Machine Image (AMI) untuk armada Anda. Properti berikut didukung oleh CodeBuild:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codebuild/latest/userguide/fleets.reserved-capacity-fleets.html)

**Konfigurasi tambahan**    
**VPC - opsional**  
VPC yang akan diakses CodeBuild armada Anda. Untuk informasi selengkapnya, lihat [Gunakan AWS CodeBuild dengan Amazon Virtual Private Cloud](vpc-support.md).  
Jika penggantian armada ditentukan saat memanggil StartBuild API, CodeBuild akan mengabaikan konfigurasi VPC proyek.  
**Subnet**  
Subnet VPC yang CodeBuild digunakan untuk mengatur konfigurasi VPC Anda. Perhatikan bahwa armada kapasitas cadangan hanya mendukung satu subnet dalam satu Availablity Zone. Juga, pastikan bahwa subnet Anda menyertakan gateway NAT.  
**Grup keamanan**  
Grup keamanan VPC yang CodeBuild digunakan dengan VPC Anda. Pastikan grup keamanan Anda mengizinkan koneksi keluar.  
**Peran Layanan Armada**  
Mendefinisikan peran layanan untuk armada Anda dari peran layanan yang ada di akun Anda.  
**Tentukan konfigurasi proxy - opsional**  
Konfigurasi proxy yang menerapkan kontrol akses jaringan ke instance kapasitas cadangan Anda. Untuk informasi selengkapnya, lihat [Gunakan AWS CodeBuild dengan server proxy terkelola](run-codebuild-in-managed-proxy-server.md).  
Konfigurasi proxy tidak mendukung VPC, Windows, atau macOS.  
**Perilaku default**  
Mendefinisikan perilaku lalu lintas keluar.    
**Izinkan**  
Mengizinkan lalu lintas keluar ke semua tujuan secara default.  
**Menyangkal**  
Menolak lalu lintas keluar ke semua tujuan secara default.  
**Aturan proxy**  
Menentukan domain tujuan atau IPs untuk mengizinkan atau menolak kontrol akses jaringan ke.

# Sampel kapasitas cadangan dengan AWS CodeBuild
<a name="reserved-capacity-samples"></a>

Sampel ini dapat digunakan untuk bereksperimen dengan armada kapasitas cadangan di CodeBuild.

**Topics**
+ [

## Caching dengan sampel kapasitas cadangan
](#reserved-capacity-samples.caching)

## Caching dengan sampel kapasitas cadangan
<a name="reserved-capacity-samples.caching"></a>

Cache dapat menyimpan bagian yang dapat digunakan kembali dari lingkungan build Anda dan menggunakannya di beberapa build. Contoh ini menunjukkan cara mengaktifkan caching dalam proyek build Anda menggunakan kapasitas cadangan. Untuk informasi selengkapnya, lihat [Cache dibangun untuk meningkatkan kinerja](build-caching.md).

Anda dapat memulai dengan menentukan satu atau beberapa mode cache dalam pengaturan proyek Anda:

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

**catatan**  
Pastikan untuk mengaktifkan mode istimewa untuk menggunakan cache lapisan Docker.

Pengaturan buildspec proyek Anda akan terlihat seperti berikut:

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

Anda dapat memulai dengan menjalankan build dengan proyek baru untuk menyemai cache. Setelah selesai, Anda harus memulai build lain dengan buildspec utama, mirip dengan yang berikut ini:

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