AWS Lambda Layers - git只推送.zip文件,不推送nodejs文件夹



我想为我的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这个到我的repo,我可以看到。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

为什么会发生这种情况,解决方案是什么?

Thanks in advance

EDIT_1:我的repo在CodeCommit。是否有比.gitignore文件更多的选项来设置东西?

我认为你想用!layers/**.json代替!layers/*.json

前者匹配layers/file.json,但不匹配layers/subdir/file.json

您需要使用双星号来匹配多个子目录。

参考:https://git-scm.com/docs/gitignore#_pattern_format

我将!package.json添加到.gitignore中可能不是最佳实践,但它有效

最新更新