#javascript #git #amazon-web-services #aws-lambda #aws-codecommit
Вопрос:
Я пытаюсь добавить слой для своей функции aws lambda.
Папка слоя структурирована следующим образом:
layers/
nameOfLayer/
--nameOfLayer.zip
--nodejs/
-- node_modules
-- package-lock.json
-- package.json
И в nameOfLayer.zip файл структурирован следующим образом:
nameOfLayer.zip
--nodejs/
-- node_modules
-- package-lock.json
-- package.json
Если я git push
отправлю это в свой репозиторий, я смогу увидеть zip-файл, но не папку nodejs.
Мой файл .gitignore выглядит следующим образом:
*.js
!jest.config.js
*.d.ts
!lambda/*.js
.vscode
!layers/*.json
node_modules
*.json
# CDK asset staging directory
.cdk.staging
cdk.out
Почему это происходит и каково решение?
Заранее спасибо
EDIT_1: Мое репо находится в CodeCommit. Есть ли больше возможностей для настройки материала, чем файл .gitignore?
Комментарии:
1. Что это показывает
git status
?2. В ветке XYZ Ваша ветка обновлена с помощью «origin/XYZ». ничего не нужно фиксировать, рабочее дерево чистое
Ответ №1:
Я думаю, вы хотите заменить !layers/*.json
на !layers/**.json
Первое будет соответствовать layers/file.json
, но не layers/subdir/file.json
Вам нужно использовать двойную звездочку, чтобы соответствовать нескольким подкаталогам.
Комментарии:
1. Я попробовал это, и теоретически это имеет полный смысл! К сожалению, он все еще не загружает его в мое репозиторий…
Ответ №2:
Я добавил !package.json
к .gitignore
, вероятно, не лучшей практике, но это работает