

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á.

# Armazenamento em cache local
<a name="caching-local"></a>

O armazenamento em cache local armazena um cache localmente em um host de compilação que está disponível somente para esse host de compilação. Esta é uma boa opção para artefatos de compilação grandes a intermediários porque o cache fica imediatamente disponível no host de compilação. Essa não é a melhor opção se suas compilações são pouco frequentes. Isso significa que o desempenho da compilação não é afetado pelo tempo de transferência na rede.

Se optar por armazenamento em cache local, você deverá escolher um ou mais dos seguintes modos de cache: 
+ O modo de cache de origem armazena em cache os metadados do Git para origens principal e secundária. Depois que o cache é criado, as compilações subsequentes extraem somente a alteração entre as confirmações. Esse modo é uma boa opção para projetos com um diretório de trabalho limpo e uma origem que seja um grande repositório Git. Se você escolher essa opção e seu projeto não usar um repositório Git (AWS CodeCommit, GitHub, GitHub Enterprise Server ou Bitbucket), a opção será ignorada. 
+ O modo de cache da camada do Docker armazena as camadas do Docker existentes. Esse modo é uma boa opção para projetos que compilam ou extraem grandes imagens do Docker. Ele pode impedir os problemas de desempenho causados pela extração de grandes imagens do Docker da rede. 
**nota**  
Só é possível usar um cache de camada do Docker no ambiente Linux. 
O sinalizador `privileged` deve ser definido para que o projeto tenha as permissões necessárias do Docker.   
Por padrão, o daemon do Docker está habilitado para compilações não VPC. Se você quiser usar contêineres do Docker para compilações da VPC, consulte [Privilégio de tempo de execução e funcionalidades do Linux](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) no site do Docker Docs e ative o modo privilegiado. Além disso, o Windows não é compatível com o modo privilegiado.
Você deve considerar as implicações de segurança antes de usar um cache de camada do Docker. 
+ O modo de cache personalizado armazena em cache os diretórios que você especificar no arquivo buildspec. Esse modo é uma boa opção quando o cenário de compilação não é adequado para um dos dois outros modos de cache local. Se você usar um cache personalizado: 
  + Somente diretórios pode ser especificado para o armazenamento em cache. Não é possível especificar arquivos individuais. 
  + Symlinks são usados para fazer referência a diretórios armazenados em cache. 
  + Os diretórios em cache são vinculados à sua compilação antes que ela faça download de suas origens do projeto. Itens armazenados em cache substituem itens de origem se tiverem o mesmo nome. Os diretórios são especificados usando caminhos de cache no arquivo buildspec. Para obter mais informações, consulte [Sintaxe de buildspec](build-spec-ref.md#build-spec-ref-syntax). 
  + Evite nomes de diretório iguais na origem e no cache. Os diretórios armazenados em cache local podem substituir ou excluir o conteúdo de diretórios no repositório de origem que tenham o mesmo nome.

**nota**  
O armazenamento em cache local não é compatível com o tipo de ambiente `LINUX_GPU_CONTAINER` me o tipo de computação `BUILD_GENERAL1_2XLARGE`. Para obter mais informações, consulte [Modos e tipos de computação do ambiente de compilação](build-env-ref-compute-types.md).

**nota**  
O armazenamento em cache local não é suportado quando você configura CodeBuild para trabalhar com uma VPC. Para obter mais informações sobre como usar VPCs com CodeBuild, consulte[Use AWS CodeBuild com a Amazon Virtual Private Cloud](vpc-support.md).