AppSpec Bagian 'file' (EC2/Hanya penerapan Lokal) - AWS CodeDeploy

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 Lokal)

Memberikan informasi CodeDeploy tentang file mana dari revisi aplikasi Anda yang harus diinstal pada instance selama peristiwa Install penerapan. Bagian ini hanya diperlukan 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.

sourceInstruksi 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 Amazon LinuxRHEL, dan instance Server Ubuntu, atau “\” 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, lihatRencanakan revisi untuk CodeDeploy.

destinationInstruksi 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).

sourcedan destination masing-masing ditentukan dengan string.

file_exists_behaviorInstruksi 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:

  • DISALLOW: 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.

  • RETAIN: 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 bawahfiles:.

  • lebih diutamakan daripada --file-exists-behavior AWS CLI opsi dan fileExistsBehavior API opsi (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.

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

Contoh bagian 'File'

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 RHEL instance.

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 rootsource:

  • 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