

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

# AppSpec Bagian 'file' (EC2/hanya penerapan di lokasi)
<a name="reference-appspec-file-structure-files"></a>

Memberikan informasi CodeDeploy tentang file mana dari revisi aplikasi Anda yang harus diinstal pada instance selama peristiwa **Install** penerapan. Bagian ini diperlukan hanya jika Anda menyalin file dari revisi ke lokasi pada instance selama penerapan. 

Bagian ini memiliki struktur sebagai berikut:

```
files:
  - source: source-file-location-1
    destination: destination-file-location-1
file_exists_behavior: DISALLOW|OVERWRITE|RETAIN
```

Beberapa `source` dan `destination` pasangan dapat diatur.

`source`Instruksi mengidentifikasi file atau direktori dari revisi Anda untuk menyalin ke instance:
+ Jika `source` mengacu pada file, hanya file yang ditentukan yang disalin ke instance.
+ Jika `source` mengacu pada direktori, maka semua file dalam direktori disalin ke instance.
+ Jika `source` merupakan garis miring tunggal (“/” untuk instance Amazon Linux, RHEL, dan Ubuntu Server, atau “\$1” untuk instance Windows Server), maka semua file dari revisi Anda disalin ke instance.

Jalur yang `source` digunakan relatif terhadap `appspec.yml` file, yang seharusnya berada di akar revisi Anda. Untuk detail tentang struktur file revisi, lihat[Rencanakan revisi untuk CodeDeploy](application-revisions-plan.md).

`destination`Instruksi mengidentifikasi lokasi pada contoh di mana file harus disalin. Ini harus menjadi jalur yang sepenuhnya memenuhi syarat seperti `/root/destination/directory` (di Linux, RHEL, dan Ubuntu) atau `c:\destination\folder` (di Windows).

`source`dan `destination` masing-masing ditentukan dengan string.

`file_exists_behavior`Instruksi bersifat opsional, dan menentukan cara CodeDeploy menangani file yang sudah ada di lokasi target penerapan tetapi bukan bagian dari penerapan yang berhasil sebelumnya. Pengaturan ini dapat mengambil salah satu nilai berikut:
+ DILARANG: Penerapan gagal. Ini juga merupakan perilaku default jika tidak ada opsi yang ditentukan. 
+ OVERWRITE: Versi file dari revisi aplikasi yang saat ini sedang digunakan menggantikan versi yang sudah ada di instance. 
+ MEMPERTAHANKAN: Versi file yang sudah ada di instance disimpan dan digunakan sebagai bagian dari penerapan baru.

Saat menggunakan `file_exists_behavior` pengaturan, pahami bahwa pengaturan ini:
+ hanya dapat ditentukan sekali, dan berlaku untuk semua file dan direktori yang tercantum di bawah`files:`.
+ lebih diutamakan daripada `--file-exists-behavior` AWS CLI opsi dan opsi `fileExistsBehavior` API (keduanya juga opsional).

Berikut adalah `files` bagian contoh untuk Amazon Linux, Ubuntu Server, atau RHEL instance.

```
files:
  - source: Config/config.txt
    destination: /webapps/Config
  - source: source
    destination: /webapps/myApp
```

Dalam contoh ini, dua operasi berikut dilakukan selama acara **Install**:

1. Salin `Config/config.txt` file dalam revisi Anda ke `/webapps/Config/config.txt` jalur pada instance.

1. Salin secara rekursif semua file di direktori revisi Anda ke `source` `/webapps/myApp` direktori pada instance.

## Contoh bagian 'File'
<a name="reference-appspec-file-structure-files-examples"></a>

Contoh berikut menunjukkan cara menentukan `files` bagian. Meskipun contoh-contoh ini menggambarkan struktur file dan direktori (folder) Windows Server, mereka dapat dengan mudah diadaptasi untuk Amazon Linux, Ubuntu Server, dan instance RHEL.

**catatan**  
Hanya penerapan EC2/lokal yang menggunakan bagian ini. `files` Itu tidak berlaku untuk penyebaran AWS Lambda.

Untuk contoh berikut, kami berasumsi file-file ini muncul di bundel di root`source`:
+ `appspec.yml`
+ `my-file.txt`
+ `my-file-2.txt`
+ `my-file-3.txt`

```
# 1) Copy only my-file.txt to the destination folder c:\temp.
#
files:
  - source: .\my-file.txt
    destination: c:\temp
#
# Result:
#   c:\temp\my-file.txt
#
# ---------------------
#
# 2) Copy only my-file-2.txt and my-file-3.txt to the destination folder c:\temp.
#
files:
  - source: my-file-2.txt
    destination: c:\temp
  - source: my-file-3.txt
    destination: c:\temp
#
# Result:
#   c:\temp\my-file-2.txt
#   c:\temp\my-file-3.txt
#
# ---------------------
#
# 3) Copy my-file.txt, my-file-2.txt, and my-file-3.txt (along with the appspec.yml file) to the destination folder c:\temp.
#
files:
  - source: \
    destination: c:\temp
#
# Result:
#   c:\temp\appspec.yml
#   c:\temp\my-file.txt
#   c:\temp\my-file-2.txt
#   c:\temp\my-file-3.txt
```

Untuk contoh berikut, kita asumsikan `appspec.yml` muncul dalam bundel di root `source` bersama dengan folder bernama `my-folder` yang berisi tiga file:
+ `appspec.yml`
+ `my-folder\my-file.txt`
+ `my-folder\my-file-2.txt`
+ `my-folder\my-file-3.txt`

```
# 4) Copy the 3 files in my-folder (but do not copy my-folder itself) to the destination folder c:\temp. 
#
files:
  - source: .\my-folder
    destination: c:\temp
#
# Result:
#   c:\temp\my-file.txt
#   c:\temp\my-file-2.txt
#   c:\temp\my-file-3.txt
#
# ---------------------
#
# 5) Copy my-folder and its 3 files to my-folder within the destination folder c:\temp.
#
files:
  - source: .\my-folder
    destination: c:\temp\my-folder
#
# Result:
#   c:\temp\my-folder\my-file.txt
#   c:\temp\my-folder\my-file-2.txt
#   c:\temp\my-folder\my-file-3.txt
#
# ---------------------
#
# 6) Copy the 3 files in my-folder to other-folder within the destination folder c:\temp.
#
files:
  - source: .\my-folder
    destination: c:\temp\other-folder
#
# Result:
#   c:\temp\other-folder\my-file.txt
#   c:\temp\other-folder\my-file-2.txt
#   c:\temp\other-folder\my-file-3.txt	
#
# ---------------------
#
# 7) Copy only my-file-2.txt and my-file-3.txt to my-folder within the destination folder c:\temp.
#
files:
  - source: .\my-folder\my-file-2.txt
    destination: c:\temp\my-folder
  - source: .\my-folder\my-file-3.txt
    destination: c:\temp\my-folder
#
# Result:
#   c:\temp\my-folder\my-file-2.txt
#   c:\temp\my-folder\my-file-3.txt
#
# ---------------------
#
# 8) Copy only my-file-2.txt and my-file-3.txt to other-folder within the destination folder c:\temp.
#
files:
  - source: .\my-folder\my-file-2.txt
    destination: c:\temp\other-folder
  - source: .\my-folder\my-file-3.txt
    destination: c:\temp\other-folder
#
# Result:
#   c:\temp\other-folder\my-file-2.txt
#   c:\temp\other-folder\my-file-3.txt
#
# ---------------------
#
# 9) Copy my-folder and its 3 files (along with the appspec.yml file) to the destination folder c:\temp. If any of the files already exist on the instance, overwrite them.
#
files:
  - source: \
    destination: c:\temp
file_exists_behavior: OVERWRITE
#
# Result:
#   c:\temp\appspec.yml
#   c:\temp\my-folder\my-file.txt
#   c:\temp\my-folder\my-file-2.txt
#   c:\temp\my-folder\my-file-3.txt
```