Memorizzazione nella cache dei file tra le esecuzioni del workflow - Amazon CodeCatalyst

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Memorizzazione nella cache dei file tra le esecuzioni del workflow

Quando la memorizzazione nella cache dei file è abilitata, le azioni di compilazione e test salvano i file su disco in una cache e li ripristinano da tale cache nelle successive esecuzioni del flusso di lavoro. La memorizzazione nella cache riduce la latenza causata dalla creazione o dal download di dipendenze che non sono cambiate tra un'esecuzione e l'altra. CodeCatalyst supporta anche le cache di fallback, che possono essere utilizzate per ripristinare cache parziali contenenti alcune delle dipendenze necessarie. Questo aiuta a ridurre l'impatto sulla latenza di una mancata memorizzazione della cache.

Nota

La memorizzazione nella cache dei file è disponibile solo con le azioni di CodeCatalyst build e test di Amazon e solo quando sono configurate per utilizzare il tipo di EC2elaborazione.

Informazioni sulla memorizzazione nella cache dei file

La memorizzazione nella cache dei file consente di organizzare i dati in più cache, ognuna delle quali è referenziata nella proprietà. FileCaching Ogni cache salva una directory specificata da un determinato percorso. La directory specificata verrà ripristinata nelle future esecuzioni del flusso di lavoro. Di seguito è riportato un YAML frammento di esempio per la memorizzazione nella cache con più cache denominate and. 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
Nota

CodeCatalyst utilizza la memorizzazione nella cache multilivello, che consiste in una cache locale e una cache remota. Quando le flotte di macchine o le macchine on-demand predisposte rilevano una perdita di cache in una cache locale, le dipendenze verranno ripristinate da una cache remota. Di conseguenza, alcune esecuzioni di azioni potrebbero presentare una latenza dovuta al download di una cache remota.

CodeCatalyst applica restrizioni di accesso alla cache per garantire che un'azione in un flusso di lavoro non possa modificare le cache di un flusso di lavoro diverso. Ciò protegge ogni flusso di lavoro da altri che potrebbero inviare dati errati con impatto sulle build o sulle implementazioni. Le restrizioni vengono applicate con cache-scopes che isolano le cache per ogni flusso di lavoro e associazione di filiali. Ad esempio, workflow-A in branch feature-A ha una cache di file diversa rispetto a quella del ramo gemello. workflow-A feature-B

Gli errori di cache si verificano quando un flusso di lavoro cerca una cache di file specificata e non riesce a trovarla. Ciò può verificarsi per diversi motivi, ad esempio quando viene creato un nuovo ramo o quando si fa riferimento a una nuova cache che non è ancora stata creata. Può verificarsi anche alla scadenza di una cache, che per impostazione predefinita si verifica 14 giorni dopo l'ultimo utilizzo. Per mitigare gli errori nella cache e aumentare la frequenza degli accessi alla cache, CodeCatalyst supporta le cache di fallback. Le cache di fallback sono cache alternative e offrono l'opportunità di ripristinare cache parziali, che possono essere una versione precedente di una cache. Una cache viene ripristinata cercando innanzitutto una corrispondenza nel nome della proprietà e, se non viene trovata, valuta. FileCaching RestoreKeys Se si verifica un errore nella cache sia per il nome della proprietà che per tuttoRestoreKeys, il flusso di lavoro continuerà a funzionare, poiché la memorizzazione nella cache è la soluzione migliore e non è garantita.

Creazione di una cache

Puoi usare le seguenti istruzioni per aggiungere una cache al tuo flusso di lavoro.

Visual
Per aggiungere una cache utilizzando l'editor visuale
  1. Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.

  2. Scegliere il progetto.

  3. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.

  4. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

  5. Scegli Modifica.

  6. Scegli Visual.

  7. Nel diagramma del flusso di lavoro, scegli l'azione in cui desideri aggiungere la cache.

  8. Scegliere Configuration (Configurazione).

  9. In Memorizzazione nella cache dei file - opzionale, scegli Aggiungi cache e inserisci le informazioni nei campi, come segue:

    Chiave

    Specificate il nome della proprietà della cache principale. I nomi delle proprietà della cache devono essere univoci all'interno del flusso di lavoro. Per ogni azione possono essere inserite fino a cinque vociFileCaching.

    Path

    Specificate il percorso associato per la cache.

    Chiavi di ripristino: opzionale

    Specificare la chiave di ripristino da utilizzare come fallback quando non è possibile trovare la proprietà della cache principale. I nomi delle chiavi di ripristino devono essere univoci all'interno del flusso di lavoro. Ogni cache può contenere fino a cinque vociRestoreKeys.

  10. (Facoltativo) Scegliete Convalida per convalidare il YAML codice del flusso di lavoro prima di eseguire il commit.

  11. Scegliete Commit, inserite un messaggio di commit, quindi scegliete nuovamente Commit.

YAML
Per aggiungere una cache utilizzando l'YAMLeditor
  1. Apri la CodeCatalyst console all'indirizzo https://codecatalyst.aws/.

  2. Scegliere il progetto.

  3. Nel riquadro di navigazione, scegli CI/CD, quindi scegli Flussi di lavoro.

  4. Scegli il nome del tuo flusso di lavoro. Puoi filtrare in base al nome del repository o del ramo di origine in cui è definito il flusso di lavoro oppure filtrare in base al nome o allo stato del flusso di lavoro.

  5. Scegli Modifica.

  6. Scegli YAML.

  7. In un'azione del flusso di lavoro, aggiungi un codice simile al seguente:

    action-name: Configuration: Steps: ... Caching: FileCaching: key-name: Path: file-path # # Specify any additional fallback caches # RestoreKeys: # - restore-key
  8. (Facoltativo) Scegliete Convalida per convalidare il YAML codice del flusso di lavoro prima di eseguire il commit.

  9. Scegliete Commit, inserite un messaggio di commit e scegliete nuovamente Commit.

Vincoli di memorizzazione nella cache dei file

Di seguito sono riportati i vincoli per il nome della proprietà e: RestoreKeys

  • I nomi devono essere univoci all'interno di un flusso di lavoro.

  • I nomi sono limitati a caratteri alfanumerici (A-Z, a-z, 0-9), trattini (-) e caratteri di sottolineatura (_).

  • I nomi possono contenere fino a 180 caratteri.

  • Ogni azione può contenere fino a cinque cache. FileCaching

  • Ogni cache può contenere fino a cinque voci. RestoreKeys

Di seguito sono riportati i vincoli per i percorsi:

  • Gli asterischi (*) non sono consentiti.

  • I percorsi possono contenere fino a 255 caratteri.