View a markdown version of this page

Échantillons à capacité réservée avec AWS CodeBuild - AWS CodeBuild

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.

Échantillons à capacité réservée avec AWS CodeBuild

Ces échantillons peuvent être utilisés pour expérimenter avec des flottes à capacité réservée dans CodeBuild.

Exemple de mise en cache avec capacité réservée

Un cache peut stocker les éléments réutilisables de votre environnement de génération et les utiliser sur plusieurs générations. Cet exemple montre comment activer la mise en cache dans votre projet de build en utilisant la capacité réservée. Pour de plus amples informations, veuillez consulter Le cache est créé pour améliorer les performances.

Vous pouvez commencer par spécifier un ou plusieurs modes de cache dans les paramètres de votre projet :

Cache: Type: LOCAL Modes: - LOCAL_CUSTOM_CACHE - LOCAL_DOCKER_LAYER_CACHE - LOCAL_SOURCE_CACHE
Note

Assurez-vous d'activer le mode privilégié pour utiliser le cache de la couche Docker.

Les paramètres buildspec de votre projet devraient ressembler à ce qui suit :

version: 0.2 phases: build: commands: - echo testing local source cache - touch /codebuild/cache/workspace/foobar.txt - git checkout -b cached_branch - echo testing local docker layer cache - docker run alpine:3.14 2>&1 | grep 'Pulling from' || exit 1 - echo testing local custom cache - touch foo - mkdir bar && ln -s foo bar/foo2 - mkdir bar/bar && touch bar/bar/foo3 && touch bar/bar/foo4 - "[ -f foo ] || exit 1" - "[ -L bar/foo2 ] || exit 1" - "[ -f bar/bar/foo3 ] || exit 1" - "[ -f bar/bar/foo4 ] || exit 1" cache: paths: - './foo' - './bar/**/*' - './bar/bar/foo3'

Vous pouvez commencer par exécuter une compilation avec le nouveau projet pour amorcer le cache. Une fois cette opération terminée, vous devez démarrer une autre compilation avec une spécification de construction supérieure, similaire à la suivante :

version: 0.2 phases: build: commands: - echo testing local source cache - git branch | if grep 'cached_branch'; then (exit 0); else (exit 1); fi - ls /codebuild/cache/workspace | if grep 'foobar.txt'; then (exit 0); else (exit 1); fi - echo testing local docker layer cache - docker run alpine:3.14 2>&1 | if grep 'Pulling from'; then (exit 1); else (exit 0); fi - echo testing local custom cache - "[ -f foo ] || exit 1" - "[ -L bar/foo2 ] || exit 1" - "[ -f bar/bar/foo3 ] || exit 1" - "[ -f bar/bar/foo4 ] || exit 1" cache: paths: - './foo' - './bar/**/*' - './bar/bar/foo3'