Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AppSpec section « fichiers » (déploiements EC2 /sur site uniquement)
Fournit des informations CodeDeploy sur les fichiers issus de la révision de votre application qui doivent être installés sur l'instance lors de l'événement Install du déploiement. Cette section est obligatoire uniquement si vous copiez des fichiers à partir de votre révision dans des emplacements sur l'instance durant le déploiement.
Cette section a la structure suivante :
files: - source:
source-file-location-1
destination:destination-file-location-1
file_exists_behavior:DISALLOW|OVERWRITE|RETAIN
Plusieurs paires source
et destination
peuvent être définies.
L'instruction source
identifie un fichier ou un répertoire de votre révision à copier sur l'instance :
-
Si
source
fait référence à un fichier, seuls les fichiers spécifiés sont copiés sur l'instance. -
Si
source
fait référence à un répertoire, tous les fichiers figurant dans le répertoire sont copiés sur l'instance. -
S'il s'
source
agit d'une barre oblique unique («/» pour les instances Amazon Linux et Ubuntu Server, ou « \ » pour les instances Windows Server), tous les fichiers de votre révision sont copiés sur l'instance. RHEL
Les chemins utilisés dans source
sont relatifs au appspec.yml
fichier, qui doit se trouver à la racine de votre révision. Pour plus de détails sur la structure de fichier d'une révision, voirPlanifier une révision pour CodeDeploy.
L'instruction destination
identifie l'emplacement sur l'instance où les fichiers doivent être copiés. Il doit s'agir d'un chemin entièrement qualifié tel que /root/destination/directory
(sous Linux et Ubuntu) ou c:\destination\folder
(sous Windows). RHEL
Les instructions source
et destination
sont spécifiées chacune avec une chaîne.
L'file_exists_behavior
instruction est facultative et indique comment CodeDeploy gère les fichiers qui existent déjà dans un emplacement cible de déploiement mais qui ne faisaient pas partie du déploiement réussi précédent. Ce paramètre peut prendre l'une des valeurs suivantes :
-
DISALLOW: le déploiement échoue. C'est également le comportement par défaut si aucune option n'est spécifiée.
-
OVERWRITE: La version du fichier issu de la révision de l'application en cours de déploiement remplace la version déjà présente sur l'instance.
-
RETAIN: La version du fichier déjà présente sur l'instance est conservée et utilisée dans le cadre du nouveau déploiement.
Lorsque vous utilisez le file_exists_behavior
paramètre, sachez que celui-ci :
-
ne peut être spécifié qu'une seule fois et s'applique à tous les fichiers et répertoires répertoriés ci-dessous
files:
. -
a la priorité sur l'
--file-exists-behavior
AWS CLI option et l'fileExistsBehavior
APIoption (qui sont également facultatives).
Voici un exemple de files
section pour un serveur Amazon Linux, Ubuntu ou une RHEL instance.
files: - source: Config/config.txt destination: /webapps/Config - source: source destination: /webapps/myApp
Dans cet exemple, les deux opérations suivantes sont effectuées au cours de l'événement Install :
-
Copie du fichier
Config/config.txt
de votre révision vers le chemin/webapps/Config/config.txt
sur l'instance. -
Copie récursive de tous les fichiers du répertoire
source
de votre révision vers le répertoire/webapps/myApp
sur l'instance.
Exemples de sections « Fichiers »
Les exemples suivants montrent comment spécifier la section files
. Bien que ces exemples décrivent les structures de fichiers et de répertoires (dossiers) de Windows Server, ils peuvent facilement être adaptés pour Amazon Linux, Ubuntu Server et RHEL les instances.
Note
Seuls les EC2 déploiements /On-Premises utilisent cette section. files
Elle ne s'applique pas aux AWS déploiements Lambda.
Pour les exemples suivants, nous supposons que ces fichiers apparaissent dans le groupe à la racine de 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
Pour les exemples suivants, nous supposons que appspec.yml
apparaît dans le groupe à la racine de source
avec un dossier nommé my-folder
contenant trois fichiers :
-
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