Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AppSpec sezione 'file' (solo distribuzioni EC2 /On-Premises)
Fornisce informazioni CodeDeploy sui file della revisione dell'applicazione da installare sull'istanza durante l'evento di installazione della distribuzione. Questa sezione è obbligatoria solo se stai copiando i file dalla tua revisione nelle posizioni sull'istanza durante la distribuzione.
Questa sezione ha la seguente struttura:
files: - source:
source-file-location-1
destination:destination-file-location-1
file_exists_behavior:DISALLOW|OVERWRITE|RETAIN
È possibile impostare più coppie source
e destination
.
L'istruzione source
identifica un file o una directory della revisione da copiare nell'istanza:
-
Se
source
fa riferimento a un file, solo i file specificati vengono copiati nell'istanza. -
Se
source
fa riferimento a una directory, tutti i file della directory vengono copiati nell'istanza. -
Se
source
è una barra singola («/» per le istanze di Amazon Linux e Ubuntu Server o «\» per le istanze di Windows Server), tutti i file della revisione vengono copiati nell'istanza. RHEL
I percorsi utilizzati in source
sono relativi al appspec.yml
file, che dovrebbe essere alla radice della revisione. Per i dettagli sulla struttura dei file di una revisione, vedere. Pianifica una revisione per CodeDeploy
L'istruzione destination
identifica il percorso dell'istanza in cui i file devono essere copiati. Deve trattarsi di un percorso completoRHEL, ad esempio /root/destination/directory
(su Linux e Ubuntu) o c:\destination\folder
(su Windows).
source
e destination
sono specificati ciascuno con una stringa.
L'file_exists_behavior
istruzione è facoltativa e specifica in che modo CodeDeploy gestisce i file già esistenti in una posizione di destinazione di distribuzione ma che non facevano parte della precedente distribuzione riuscita. Questa impostazione può assumere uno qualsiasi dei seguenti valori:
-
DISALLOW: la distribuzione non riesce. Questo è anche il comportamento predefinito se non viene specificata alcuna opzione.
-
OVERWRITE: la versione del file della revisione dell'applicazione attualmente distribuita sostituisce la versione già presente sull'istanza.
-
RETAIN: la versione del file già presente nell'istanza viene conservata e utilizzata come parte della nuova distribuzione.
Quando usi l'file_exists_behavior
impostazione, tieni presente che questa impostazione:
-
può essere specificata una sola volta e si applica a tutti i file e le directory elencati sotto
files:
. -
ha la precedenza sull'
--file-exists-behavior
AWS CLI opzione e sull'fileExistsBehavior
APIopzione (entrambe anch'esse opzionali).
Ecco una files
sezione di esempio per un Amazon Linux, Ubuntu Server o un'RHEListanza.
files: - source: Config/config.txt destination: /webapps/Config - source: source destination: /webapps/myApp
In questo esempio, le seguenti due operazioni vengono eseguite durante l'evento Install:
-
Copia il file
Config/config.txt
della revisione nel percorso/webapps/Config/config.txt
dell'istanza. -
Copia in modo ricorsivo tutti i file della directory
source
della revisione nella directory/webapps/myApp
dell'istanza.
Esempi della sezione 'File'
I seguenti esempi mostrano come specificare la sezione files
. Sebbene questi esempi descrivano le strutture di file e directory (cartelle) di Windows Server, possono essere facilmente adattati per Amazon Linux, Ubuntu Server e RHEL istanze.
Nota
Solo le distribuzioni EC2 /On-Premises utilizzano la sezione. files
Non si applica alle distribuzioni AWS Lambda.
Per i seguenti esempi presupponiamo che questi file siano nel bundle della directory radice di 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
Per i seguenti esempi presupponiamo che il file appspec.yml
sia nel bundle della radice di source
insieme a una cartella denominata my-folder
che contiene tre 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