Armazenar arquivos em cache entre execuções de fluxo de trabalho - Amazon CodeCatalyst

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.

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.

Visual
Como adicionar um cache usando o editor visual
  1. Abra o console do CodeCatalyst em https://codecatalyst.aws/.

  2. Selecione o projeto.

  3. No painel de navegação, escolha CI/CD e Fluxos de trabalho.

  4. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

  5. Selecione a opção Editar.

  6. Selecione Visual.

  7. No diagrama do fluxo de trabalho, selecione a ação onde deseja adicionar o cache.

  8. Escolher configuração.

  9. Em Cache de arquivos – opcional, selecione Adicionar cache e insira as informações nos campos, da seguinte forma:

    Chave

    Especifique o nome da propriedade de cache principal. Os nomes de propriedade de cache devem ser exclusivos no fluxo de trabalho. Cada ação pode ter até cinco entradas em FileCaching.

    Caminho

    Especifique o caminho associado ao cache.

    Chaves de restauração – opcional

    Especifique a chave de restauração a ser usada como fallback quando a propriedade do cache principal não puder ser encontrada. Os nomes de chave de restauração devem ser exclusivos no fluxo de trabalho. Cada cache pode ter até cinco entradas em RestoreKeys.

  10. (Opcional) Selecione Validar para validar o código YAML do fluxo de trabalho antes de confirmar.

  11. Selecione Confirmar, insira uma mensagem de confirmação e escolha Confirmar novamente.

YAML
Como adicionar um cache usando o editor YAML
  1. Abra o console do CodeCatalyst em https://codecatalyst.aws/.

  2. Selecione o projeto.

  3. No painel de navegação, escolha CI/CD e Fluxos de trabalho.

  4. Selecione o nome do fluxo de trabalho. É possível filtrar pelo nome do repositório ou da ramificação de origem em que o fluxo de trabalho está definido, ou filtrar pelo nome ou o status do fluxo de trabalho.

  5. Selecione a opção Editar.

  6. Selecione YAML.

  7. Em uma ação de fluxo de trabalho, adicione um código semelhante ao seguinte:

    action-name: Configuration: Steps: ... Caching: FileCaching: key-name: Path: file-path # # Specify any additional fallback caches # RestoreKeys: # - restore-key
  8. (Opcional) Selecione Validar para validar o código YAML do fluxo de trabalho antes de confirmar.

  9. Selecione Confirmar, insira uma mensagem de confirmação e escolha Confirmar novamente.

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.