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.
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 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.
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:
-
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 bawah
files:
. -
lebih diutamakan daripada
--file-exists-behavior
AWS CLI opsi danfileExistsBehavior
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:
-
Salin
Config/config.txt
file dalam revisi Anda ke/webapps/Config/config.txt
jalur pada instance. -
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