В настоящее время я использую AWS CodeBuild для развертывания моего проекта монорепозитория и пытаюсь использовать его свойства кеша. Я хочу кэшировать свою папку node_modules
, а моя buildspec.yml
:
version: 0.2
phases:
install:
commands:
- echo Entered the install phase...
- npm install
finally:
- echo This always runs even if the update or install command fails
pre_build:
commands:
- echo Entered the pre_build phase...
finally:
- echo This always runs even if the login command fails
build:
commands:
- echo Entered the build phase...
- echo Build started on `date`
- npm run build
finally:
- echo This always runs even if the install command fails
post_build:
commands:
- echo "Entered the post_build phase (deploy)..."
- npm run deploy
- echo deploy completed on `date`
cache:
paths:
- 'node_modules/**/*'
- 'packages/lambdas/node_modules/**/*'
- 'packages/web/node_modules/**/*'
Есть ли способ использовать подстановочный знак, чтобы добавить все node_modules
в путь?
Моя структура репозитория:
root
node_modules
packages
lambdas
node_modules
...
web
node_modules
...
...
Благодарю вас!
Обновление 1 (14.05.16):
я получаю эту ошибку
[Container] 2019/05/14 23:19:24 Symlinking: /codebuild/output/src986466269/src/git-codecommit.us-east-1.amazonaws.com/v1/repos/MYREPOSITORY/*/**/node_modules => /codebuild/local-cache/custom/7bd9b9fb12a6f74162020f29bfde2b34c52fdde87977fb9dda31fcbbb33f01af/*/**/node_modules
[Container] 2019/05/14 23:19:24 Error mounting /codebuild/output/src986466269/src/git-codecommit.us-east-1.amazonaws.com/v1/repos/MY_REPOSITORY/*/**/node_modules: symlink /codebuild/local-cache/custom/7bd9b9fb12a6f74162020f29bfde2b34c52fdde87977fb9dda31fcbbb33f01af/*/**/node_modules /codebuild/output/src986466269/src/git-codecommit.us-east-1.amazonaws.com/v1/repos/MY_REPOSITORY/*/**/node_modules: no such file or directory
когда я использую
cache:
paths:
- '*/**/node_modules/**/*'
packages/*/node_modules/**/*
для кэширования всех модулей node_modules для каждого из пакетов в каталоге пакетов для монорепозитория? Точно так же я пытаюсь настроить кеш node_modules для моего проекта монорепозитория, но получаю эту ошибку во времяyarn install
для сборки:error An unexpected error occurred: "EEXIST: file already exists, mkdir '/codebuild/output/src087246803/src/github.com/ChowNow/chownow-web/node_modules/app-dashboard'".
Кажется, это проблема, поскольку кеш настроен как символическая ссылка, но Yarn устанавливает символические ссылки в директории node_modules для зависимостей w /в монорепозитории - person munsellj   schedule 08.11.2019