

Amazon CodeCatalyst tidak lagi terbuka untuk pelanggan baru. Pelanggan yang sudah ada dapat terus menggunakan layanan ini seperti biasa. Lihat informasi yang lebih lengkap di [Cara bermigrasi dari CodeCatalyst](migration.md).

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

# Caching file antara alur kerja berjalan
<a name="workflows-caching"></a>

Saat caching file diaktifkan, tindakan build dan test menyimpan file on-disk ke cache dan mengembalikannya dari cache tersebut dalam alur kerja berikutnya. Caching mengurangi latensi yang disebabkan oleh membangun atau mengunduh dependensi yang tidak berubah di antara proses. CodeCatalyst juga mendukung cache fallback, yang dapat digunakan untuk mengembalikan cache sebagian yang berisi beberapa dependensi yang diperlukan. Ini membantu mengurangi dampak latensi dari kehilangan cache.

**catatan**  
Caching file hanya tersedia dengan tindakan CodeCatalyst [pembuatan](build-workflow-actions.md) dan [pengujian](test-workflow-actions.md) Amazon, dan hanya jika file tersebut dikonfigurasi untuk menggunakan jenis **EC2**[komputasi](workflows-working-compute.md#compute.types).

**Topics**
+ [Tentang file caching](#workflows-caching.files)
+ [Membuat cache](#workflows-caching.fallback)
+ [Kendala caching file](#workflows-caching.constraints)

## Tentang file caching
<a name="workflows-caching.files"></a>

File caching memungkinkan Anda untuk mengatur data Anda ke dalam beberapa cache, yang masing-masing direferensikan di bawah properti. `FileCaching` Setiap cache menyimpan direktori yang ditentukan oleh jalur tertentu. Direktori yang ditentukan akan dipulihkan dalam alur kerja masa depan berjalan. Berikut ini adalah contoh cuplikan YAMAL untuk caching dengan beberapa cache bernama dan. `cacheKey1` `cacheKey2`

```
Actions:
  BuildMyNpmApp:
    Identifier: aws/build@v1
    Inputs:
      Sources:
        - WorkflowSource
    Configuration:
      Steps:
        - Run: npm install
        - Run: npm run test
    Caching:
      FileCaching:
        cacheKey1:
          Path: file1.txt
          RestoreKeys:
             - restoreKey1
        cacheKey2:
          Path: /root/repository
          RestoreKeys:
             - restoreKey2
             - restoreKey3
```

**catatan**  
CodeCatalyst menggunakan caching berlapis-lapis, yang terdiri dari cache lokal dan cache jarak jauh. Ketika armada yang disediakan atau mesin sesuai permintaan mengalami kehilangan cache pada cache lokal, dependensi akan dipulihkan dari cache jarak jauh. Akibatnya, beberapa tindakan berjalan mungkin mengalami latensi dari mengunduh cache jarak jauh.

CodeCatalyst menerapkan pembatasan akses cache untuk memastikan bahwa tindakan dalam satu alur kerja tidak dapat mengubah cache dari alur kerja yang berbeda. Ini melindungi setiap alur kerja dari orang lain yang mungkin mendorong data yang salah yang memengaruhi build atau penerapan. Pembatasan diberlakukan dengan cakupan cache yang mengisolasi cache ke setiap alur kerja dan pasangan cabang. Misalnya, `workflow-A` di cabang `feature-A` memiliki cache file yang berbeda dari `workflow-A` di cabang `feature-B` saudara.

Kesalahan cache terjadi ketika alur kerja mencari cache file tertentu dan tidak dapat menemukannya. Ini dapat terjadi karena beberapa alasan, seperti ketika cabang baru dibuat atau ketika cache baru direferensikan dan belum dibuat. Ini juga dapat terjadi ketika cache kedaluwarsa, yang secara default terjadi 14 hari setelah terakhir digunakan. Untuk mengurangi kesalahan cache dan meningkatkan tingkat klik cache, CodeCatalyst mendukung cache fallback. Cache fallback adalah cache alternatif dan memberikan kesempatan untuk memulihkan cache sebagian, yang bisa menjadi versi cache yang lebih lama. Cache dipulihkan dengan terlebih dahulu mencari kecocokan di bawah `FileCaching` untuk nama properti, dan jika tidak ditemukan, evaluasi`RestoreKeys`. Jika ada cache yang hilang untuk nama properti dan semua`RestoreKeys`, alur kerja akan terus berjalan, karena caching adalah upaya terbaik dan tidak dijamin.

## Membuat cache
<a name="workflows-caching.fallback"></a>

Anda dapat menggunakan petunjuk berikut untuk menambahkan cache ke alur kerja Anda.

------
#### [ Visual ]

**Untuk menambahkan cache menggunakan editor visual**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **Visual**.

1. Dalam diagram alur kerja, pilih tindakan di mana Anda ingin menambahkan cache Anda.

1. Pilih **Konfigurasi**.

1. Di bawah **File caching - opsional**, pilih **Tambahkan cache** dan masukkan informasi ke dalam bidang, sebagai berikut:

    **Kunci** 

   Tentukan nama nama properti cache utama Anda. Nama properti cache harus unik dalam alur kerja Anda. Setiap tindakan dapat memiliki hingga lima entri. `FileCaching`

    **Jalan** 

   Tentukan jalur terkait untuk cache Anda. 

    **Kembalikan kunci - opsional** 

   Tentukan kunci pemulihan yang akan digunakan sebagai fallback ketika properti cache utama tidak dapat ditemukan. Kembalikan nama kunci harus unik dalam alur kerja Anda. Setiap cache dapat memiliki hingga lima entri. `RestoreKeys`

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMM alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, lalu pilih **Komit** lagi.

------
#### [ YAML ]

**Untuk menambahkan cache menggunakan editor YAMM**

1. Buka CodeCatalyst konsol di [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Pilih proyek Anda.

1. **Di panel navigasi, pilih **CI/CD, lalu pilih Alur** kerja.**

1. Pilih nama alur kerja Anda. Anda dapat memfilter berdasarkan repositori sumber atau nama cabang tempat alur kerja ditentukan, atau memfilter berdasarkan nama atau status alur kerja.

1. Pilih **Edit**.

1. Pilih **YAMAL.**

1. Dalam tindakan alur kerja, tambahkan kode yang mirip dengan berikut ini:

   ```
   action-name:
     Configuration:
       Steps: ...
     Caching:
       FileCaching:
         key-name:
           Path: file-path
           # # Specify any additional fallback caches
           # RestoreKeys:
           #  - restore-key
   ```

1. (Opsional) Pilih **Validasi** untuk memvalidasi kode YAMM alur kerja sebelum melakukan.

1. Pilih **Komit**, masukkan pesan komit, dan pilih **Komit** lagi.

------

## Kendala caching file
<a name="workflows-caching.constraints"></a>

Berikut ini adalah kendala untuk nama properti dan: `RestoreKeys`
+ Nama harus unik dalam alur kerja.
+ Nama terbatas pada karakter alfanumerik (A-Z, a-z, 0-9), tanda hubung (-), dan garis bawah (\$1).
+ Nama dapat memiliki hingga 180 karakter.
+ Setiap tindakan dapat memiliki hingga lima cache. `FileCaching`
+ Setiap cache dapat memiliki hingga lima entri. `RestoreKeys`

Berikut ini adalah kendala untuk jalur:
+ Tanda bintang (\$1) tidak diperbolehkan.
+ Jalur dapat memiliki hingga 255 karakter.