Я использую AWS для упаковки своего лямбда-кода node10.x и зависимостей для моего сайта. У меня мои git-репозитории разбиты по функциям - поэтому у меня есть репозиторий, посвященный моей лямбде rest-auth в качестве примера (я все еще активно разрабатываю это, так что есть множество отсутствующих buildspec & функциональных файлов).
Мой репозиторий git имеет следующую компоновку:
.
├── buildspec
│ ├── postmark.yml
│ ├── rest-auth-login.yml
│ ├── rest-auth-password-link.yml
│ └── rest-auth-register.yml
├── function_code
│ ├── login.js
│ ├── password-link.ext
│ ├── postmark.js
│ ├── register.js
│ └── rgistration-confirm.js
├── .gitignore
└── README.md
Прямо сейчас, когда я загружаю обновление в github, запускаются все 4 конфигурации buildspec и создаются 4 zip-файла в моем S3-контейнере, чтобы мои лямбды могли их читать.
Однако все 4 zip-файла воссоздаются, даже если есть изменения только в ОДНОМ их базового кода - я знаю, что могу разбить каждую функцию на ее собственный репозиторий, но есть ли способ настроить AWS CodeBuild только назапускать обновления для заданной спецификации сборки, если в репо изменяются определенные файлы?
Т.е. запускать postmark.yml
можно только при изменении файла postmark.js
?
Пример postmark.yml
version: 0.2
phases:
install:
runtime-versions:
nodejs: 10
commands:
- npm install postmark
artifacts:
files:
- 'function_code/postmark.js'
- 'node_modules/**/*'