在 .gcloudignore 中包含排除文件夹中的子文件夹
Including a subfolder from an excluded folder in .gcloudignore
我正在尝试使用 gcloud beta run deploy
命令将带有 Docker 文件的节点项目部署到 Google 云 运行。
长话短说,我想在 Docker 文件中的 运行 RUN npm install
之后复制我的本地 node_modules/my-module
:
COPY node_modules/my-module /app/node_modules/my-module/
(我只在开发时这样做,以避免提交和推送来自 my-module
的每个更改以进行测试)。
不幸的是,Docker 无法复制此目录,因为显然 node_modules
默认情况下未上传到 Cloud Build。
所以我创建了这个 .gcloudignore
文件来覆盖默认值:
.gcloudignore
.git
.gitignore
node_modules/
!node_modules/my-module/
我尝试了很多其他语法,但 none 允许我排除 node_modules
而包含 node_modules/my-module
.
但是,我可以通过从 .gcloudignore
文件中省略它来包含整个 node_modules
目录,但这显然需要很长时间才能上传。
你知道我如何将我的本地模块上传到 Cloud Build 吗?
阅读 this Gist's comments 后,我意识到您还必须包括父目录,如下所示:
node_modules/**
!node_modules/
!node_modules/my-module/**
这将从 node_modules
中排除所有子文件夹,除了 my-module
及其内容(**
很重要,否则只会包含空文件夹)。
我正在尝试使用 gcloud beta run deploy
命令将带有 Docker 文件的节点项目部署到 Google 云 运行。
长话短说,我想在 Docker 文件中的 运行 RUN npm install
之后复制我的本地 node_modules/my-module
:
COPY node_modules/my-module /app/node_modules/my-module/
(我只在开发时这样做,以避免提交和推送来自 my-module
的每个更改以进行测试)。
不幸的是,Docker 无法复制此目录,因为显然 node_modules
默认情况下未上传到 Cloud Build。
所以我创建了这个 .gcloudignore
文件来覆盖默认值:
.gcloudignore
.git
.gitignore
node_modules/
!node_modules/my-module/
我尝试了很多其他语法,但 none 允许我排除 node_modules
而包含 node_modules/my-module
.
但是,我可以通过从 .gcloudignore
文件中省略它来包含整个 node_modules
目录,但这显然需要很长时间才能上传。
你知道我如何将我的本地模块上传到 Cloud Build 吗?
阅读 this Gist's comments 后,我意识到您还必须包括父目录,如下所示:
node_modules/**
!node_modules/
!node_modules/my-module/**
这将从 node_modules
中排除所有子文件夹,除了 my-module
及其内容(**
很重要,否则只会包含空文件夹)。