1

Nous avons un déploiement automatique à partir de BitBucket configuré pour être déployé sur l'une des trois instances EC2. Tout fonctionne actuellement correctement, sauf que notre répertoire/data (qui contient des images téléchargées par le CMS, des vidéos, etc.) ne fait pas partie du référentiel. Ainsi, lors du déploiement, le répertoire/data existant sur l'instance spécifique est supprimé.Existe-t-il un moyen d'exclure un répertoire dans AWS CodeDeploy?

Je vois qu'il est possible de définir des exclusions pour la propriété du fichier/groupe et les permissions en utilisant le paramètre "exclude"; Cependant, aucun paramètre ne semble exister pour la section Fichiers:

http://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-files.html

Il semble que ce serait un problème commun, mais je n'ai pas été en mesure de trouver une solution encore. Est-ce que quelqu'un a des suggestions pour exclure les fichiers à remplacer lors d'un déploiement? La seule chose que je peux arriver à ce stade est de spécifier manuellement chaque répertoire qui doit être remplacé ainsi que chaque fichier racine dans appspec.yml. C'est loin d'être idéal, car il devrait être modifié chaque fois qu'un nouveau répertoire ou fichier racine est ajouté.

Répondre

0

Dans les autres cas, la solution consiste à spécifier manuellement chaque répertoire et/ou fichier via la directive appspec "files". De cette façon, les fichiers non inclus dans la liste ne sont pas déployés.

Le fichier appspec devra ensuite être mis à jour chaque fois qu'un nouveau répertoire ou fichier racine est ajouté.

+0

Nous cherchons un moyen de faire cela maintenant, difficile à croire qu'il n'y a aucun moyen d'exclure un motif et d'avoir à inclure tout le reste et à garder la structure à jour. Cela me semble être une fonctionnalité essentielle pour pouvoir exclure des répertoires. – pixelwiz

0

Vous devez structurer les données de votre application en dehors du package de déploiement. Conserver les données de l'application dans le même répertoire que le package de déploiement n'est pas une bonne approche.

+0

Merci pour la suggestion, mais cela n'aide pas dans cette circonstance. J'ai hérité d'une application héritée. Et/data ne fait pas partie du repo de toute façon. Il semble que la seule façon de le faire en ce moment est de spécifier chaque répertoire et/ou fichier racine. – edwardr

0

Vous devriez être en mesure d'atteindre cet objectif avec la propriété except de la section permissions. S'il vous plaît voir http://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-permissions.html.

+0

La section "except" des autorisations fournit des remplacements pour la propriété du fichier/répertoire, mais pas pour l'inclusion du fichier dans le déploiement. La seule solution que j'ai trouvée est de spécifier manuellement les fichiers et les répertoires spécifiques à inclure dans le déploiement. – edwardr