Mise en cache des fichiers entre les exécutions du flux de travail - Amazon CodeCatalyst

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.

Mise en cache des fichiers entre les exécutions du flux de travail

Lorsque la mise en cache de fichiers est activée, les actions de génération et de test enregistrent les fichiers sur disque dans un cache et les restaurent à partir de ce cache lors des exécutions de flux de travail suivantes. La mise en cache réduit la latence causée par la création ou le téléchargement de dépendances qui n'ont pas changé entre les exécutions. CodeCatalyst prend également en charge les caches de secours, qui peuvent être utilisés pour restaurer des caches partiels contenant certaines des dépendances nécessaires. Cela permet de réduire l'impact sur la latence d'un échec du cache.

Note

La mise en cache des fichiers n'est disponible qu'avec les actions de CodeCatalyst compilation et de test Amazon, et uniquement lorsqu'elles sont configurées pour utiliser le type de EC2calcul.

À propos de la mise en cache de fichiers

La mise en cache des fichiers vous permet d'organiser vos données dans plusieurs caches, chacun référencé sous la FileCaching propriété. Chaque cache enregistre un répertoire spécifié par un chemin donné. Le répertoire spécifié sera restauré lors des futures exécutions du flux de travail. Voici un exemple d'YAMLextrait de code de mise en cache avec plusieurs caches nommés et. cacheKey1 cacheKey2

Actions: BuildMyNpmApp: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: npm install - Run: npm run test Caching: FileCaching: cacheKey1: Path: file1.txt RestoreKeys: - restoreKey1 cacheKey2: Path: /root/repository RestoreKeys: - restoreKey2 - restoreKey3
Note

CodeCatalyst utilise une mise en cache multicouche, composée d'un cache local et d'un cache distant. Lorsque des flottes provisionnées ou des machines à la demande rencontrent une erreur de cache dans un cache local, les dépendances sont restaurées à partir d'un cache distant. Par conséquent, le téléchargement d'un cache distant peut entraîner une latence lors de l'exécution de certaines actions.

CodeCatalyst applique des restrictions d'accès au cache pour garantir qu'une action dans un flux de travail ne peut pas modifier les caches d'un autre flux de travail. Cela protège chaque flux de travail contre d'autres qui pourraient transmettre des données incorrectes ayant un impact sur les builds ou les déploiements. Les restrictions sont appliquées grâce à des étendues de cache qui isolent les caches pour chaque flux de travail et chaque association de branches. Par exemple, workflow-A la branche feature-A possède un cache de fichiers différent de celui workflow-A de la branche feature-B sœur.

Des erreurs de cache se produisent lorsqu'un flux de travail recherche un cache de fichiers spécifié et ne parvient pas à le trouver. Cela peut se produire pour plusieurs raisons, par exemple lorsqu'une nouvelle branche est créée ou lorsqu'un nouveau cache est référencé alors qu'il n'a pas encore été créé. Cela peut également se produire lorsqu'un cache expire, ce qui se produit par défaut 14 jours après sa dernière utilisation. Pour atténuer les erreurs de cache et augmenter le taux d'accès au cache, CodeCatalyst prend en charge les caches de secours. Les caches de secours sont des caches alternatifs et permettent de restaurer des caches partiels, qui peuvent être une ancienne version d'un cache. Un cache est restauré en recherchant d'abord une correspondance sous le nom FileCaching de propriété et, s'il n'est pas trouvé, il est évalué. RestoreKeys En cas d'erreur de cache à la fois pour le nom de la propriété et pour l'ensemble des propriétésRestoreKeys, le flux de travail continuera de s'exécuter, car la mise en cache est une solution optimale et n'est pas garantie.

Création d'un cache

Vous pouvez utiliser les instructions suivantes pour ajouter un cache à votre flux de travail.

Visual
Pour ajouter un cache à l'aide de l'éditeur visuel
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Choisissez votre projet.

  3. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  4. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

  5. Choisissez Modifier.

  6. Choisissez Visual.

  7. Dans le diagramme du flux de travail, choisissez l'action à laquelle vous souhaitez ajouter votre cache.

  8. Choisissez Configuration.

  9. Sous Mise en cache de fichiers - facultatif, choisissez Ajouter un cache et entrez les informations dans les champs, comme suit :

    Clé

    Spécifiez le nom de votre propriété de cache principale. Les noms des propriétés du cache doivent être uniques dans votre flux de travail. Chaque action peut comporter jusqu'à cinq entréesFileCaching.

    Chemin

    Spécifiez le chemin associé à votre cache.

    Clés de restauration : facultatif

    Spécifiez la clé de restauration à utiliser comme solution de secours lorsque la propriété de cache principale est introuvable. Les noms des clés de restauration doivent être uniques dans votre flux de travail. Chaque cache peut contenir jusqu'à cinq entréesRestoreKeys.

  10. (Facultatif) Choisissez Valider pour valider le YAML code du flux de travail avant de valider.

  11. Choisissez Valider, entrez un message de validation, puis choisissez à nouveau Valider.

YAML
Pour ajouter un cache à l'aide de l'YAMLéditeur
  1. Ouvrez la CodeCatalyst console à l'adresse https://codecatalyst.aws/.

  2. Choisissez votre projet.

  3. Dans le volet de navigation, choisissez CI/CD, puis Workflows.

  4. Choisissez le nom de votre flux de travail. Vous pouvez filtrer par le nom du référentiel source ou de la branche où le flux de travail est défini, ou filtrer par nom ou statut du flux de travail.

  5. Choisissez Modifier.

  6. Choisissez YAML.

  7. Dans une action de flux de travail, ajoutez un code similaire au suivant :

    action-name: Configuration: Steps: ... Caching: FileCaching: key-name: Path: file-path # # Specify any additional fallback caches # RestoreKeys: # - restore-key
  8. (Facultatif) Choisissez Valider pour valider le YAML code du flux de travail avant de valider.

  9. Choisissez Valider, entrez un message de validation, puis choisissez à nouveau Valider.

Contraintes de mise en cache de fichiers

Les contraintes relatives au nom de la propriété sont les RestoreKeys suivantes :

  • Les noms doivent être uniques dans un flux de travail.

  • Les noms sont limités aux caractères alphanumériques (A-Z, a-z, 0-9), aux tirets (-) et aux traits de soulignement (_).

  • Les noms peuvent comporter jusqu'à 180 caractères.

  • Chaque action peut contenir jusqu'à cinq caches. FileCaching

  • Chaque cache peut contenir jusqu'à cinq entréesRestoreKeys.

Les contraintes relatives aux chemins sont les suivantes :

  • Les astérisques (*) ne sont pas autorisés.

  • Les chemins peuvent comporter jusqu'à 255 caractères.