J'essaie d'utiliser AWS CodeBuild pour obtenir tous les fichiers et sous-dossiers dans un dossier public
imbriqué et déployer vers un compartiment S3 à l'aide de CodePipeline. J'ai pu les connecter tous ensemble mais j'ai du mal à configurer le buildspec.yml
fichier pour obtenir la sortie que je veux.
Ma structure de dossiers:
<path>/public/
├── 404.html
├── css
│ ├── ...
├── fonts
│ ├── bootstrap
│ │ ├── ...
│ ├── icomoon
│ │ ├── icomoon
│ │ │ ├── ...
│ └── simple-line-icons
│ ├── ...
├── images
│ ├── ...
├── index.html
├── index.xml
├── js
│ ├── ...
└── tags
└── index.xml
J'ai besoin de tout mettre (y compris les sous-dossiers) dans le dossier public
à la racine d'un compartiment S3.
Jusqu'à présent, j'ai essayé de suivre les documents ici , ici et ici . J'ai essayé d'utiliser:
**/*
pour obtenir tout récursivement dans le dossier public
mais le bucket S3 aura le chemin du dossier donc le index.html
n'est pas à la racine.discard-paths: yes
pour supprimer le chemin d'accès au dossier public
mais à l'intérieur du compartiment S3, tous les fichiers sont là à la racine, aucune structure de sous-dossier n'est conservée.base-directory
: comme décrit ici .artifacts: secondary-artifacts: artifact1: files: - directory/file artifact2: files: - directory/file2
pour conserver la structure des dossiers mais ma génération a échoué.Cela a fonctionné pour moi.
/
buildspec.yml
/public
index.html
/js
/img
appspec.yml
/src
dans buildspec.yml
artifacts:
files:
- 'public/*'
discard-paths: yes
Je rencontrais un problème similaire et après de nombreuses permutations ci-dessous, la syntaxe a fonctionné pour moi.
artifacts:
files:
- './**/*'
base-directory: public
name: websitename