如何解决是否可以在Google Cloud Build中从Dockerfile构建并将结果复制到存储桶?
我有一个Gatsbyjs项目,并尝试使用Google Cloud Build使所有内容在Google Cloud Platform上运行。
步骤:
- 将新代码推送到github存储库中
- Google Cloud Build侦听master分支上的更改,并触发新的构建
- 开始构建步骤,必要时安装node_modules(第一次,更新)
- 盖茨比将建造
- 将Gatsby构建的结果复制到我的一个存储桶中。
为什么我要实现的目的是为新构建尽可能多地缓存node_modules。 据我了解,可以为Docker映像添加一些缓存,这样它就不会每次都重新构建。
一旦触发了新的构建,是否可以通过这种方式进行操作?:
- 正在触发新版本
- 将Kaniko与我的Dockerfile一起使用,其中包含有关npm install和npm run build命令的说明
- 将Dockerfile的结果复制到我的存储桶中
- 完成
否则我将如何缓存我的node_modules,以使构建不会花费尽可能长的时间。
最后,我只想将静态文件尽快存储在存储桶中。
谢谢
更新
我当前的cloudbuild.yaml:
steps:
- name: node:12.18.3
id: 'npm-install'
entrypoint: npm
args: ["install"]
dir: './gatsby'
- name: node:12.18.3
id: 'clean gatsby'
entrypoint: npm
args: ["run","clean"]
dir: './gatsby'
- name: node:12.18.3
id: 'build-gatsby'
entrypoint: npm
args: ["run","build"]
dir: './gatsby'
- name: gcr.io/cloud-builders/gsutil
id: 'upload-to-bucket'
args: ["-m","rsync","-r","-c","-d","./public","gs://[BUCKET-ID]"]
dir: './gatsby'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。