As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Armazenar arquivos em cache entre execuções de fluxo de trabalho
Quando o armazenamento de arquivos em cache está ativado, as ações de compilação e teste salvam os arquivos em disco em um cache e os restauram desse cache em execuções subsequentes do fluxo de trabalho. O armazenamento em cache reduz a latência causada pela criação ou pelo download de dependências que não foram alteradas entre as execuções. O CodeCatalyst também comporta caches alternativos, que podem ser usados para restaurar caches parciais contendo algumas das dependências necessárias. Isso ajuda a reduzir os impactos de latência de uma perda de cache.
nota
O armazenamento de arquivos em cache só está disponível com as ações de criação e de teste do Amazon CodeCatalyst e somente quando elas são configuradas para usar o tipo de computação do EC2.
Tópicos
Sobre o armazenamento de arquivos em cache
O armazenamento de arquivos em cache permite que você organize os dados em vários caches, cada um referido na propriedade FileCaching
. Cada cache salva um diretório especificado por determinado caminho. O diretório especificado será restaurado em futuras execuções do fluxo de trabalho. Veja a seguir um exemplo de trecho YAML para armazenamento em cache com vários caches chamados e cacheKey1
e 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
O CodeCatalyst usa cache multicamada, que consiste em um cache local e um cache remoto. Quando frotas provisionadas ou máquinas sob demanda encontram uma perda de cache em um cache local, as dependências são restauradas a partir de um cache remoto. Como resultado, algumas ações podem apresentar latência ao baixar um cache remoto.
O CodeCatalyst aplica restrições de acesso ao cache para garantir que uma ação em um fluxo de trabalho não possa modificar os caches de um fluxo de trabalho diferente. Isso protege cada fluxo de trabalho de outros que podem enviar dados incorretos que afetem compilações ou implantações. As restrições são aplicadas com escopos de cache que isolam os caches de cada fluxo de trabalho e emparelhamento de ramificações. Por exemplo, workflow-A
na ramificação feature-A
tem um cache de arquivo diferente de workflow-A
na ramificação feature-B
irmã.
As falhas de cache ocorrem quando um fluxo de trabalho procura um cache de arquivo especificado e não consegue encontrá-lo. Isso pode ocorrer por vários motivos, como quando uma ramificação é criada ou quando um novo cache é referido e ainda não foi criado. Também pode ocorrer quando um cache expira, o que, por padrão, ocorre 14 dias após o último uso. Para reduzir as falhas de cache e aumentar a taxa de acessos ao cache, o CodeCatalyst comporta caches de fallback. Os caches de fallback oferecem uma oportunidade de restaurar caches parciais, que podem ser uma versão mais antiga de um cache. Um cache é restaurado pesquisando primeiro por uma correspondência em FileCaching
pelo nome da propriedade e, se não for encontrado, RestoreKeys
será avaliado. Se houver uma falha de cache tanto no nome da propriedade quanto em todas as opções de RestoreKeys
, o fluxo de trabalho continuará sendo executado, pois o armazenamento em cache é o melhor esforço e não é garantido.
Criar um cache
Use as instruções a seguir para adicionar um cache ao fluxo de trabalho.
Restrições de armazenamento de arquivos em cache
Veja a seguir as restrições para o nome da propriedade e RestoreKeys
:
-
Os nomes devem ser exclusivos no fluxo de trabalho.
-
Os nomes são limitados a caracteres alfanuméricos (A-Z, a-z, 0-9), hifens (-) e sublinhados (_).
-
Os nomes podem ter até 180 caracteres.
-
Cada ação pode ter até cinco caches em
FileCaching
. -
Cada cache pode ter até cinco entradas em
RestoreKeys
.
Veja a seguir as restrições para caminhos:
-
Asteriscos (*) não são permitidos.
-
Os caminhos podem ter até 255 caracteres.