我的网络应用程序运行在 Google Cloud Platform 中,最近我意识到应用程序的构建时间非常长,尤其是当您测试某个功能时,比如说刷新页面,您可以看到启动应用程序需要很长时间。我正在寻找的是如何加快这个过程。我正在使用 docker 映像在谷歌云注册表上构建。我不想每次都重新构建所有 npm 包,当某些 npm 包有更新时,我想重新构建应用程序。
这是我的聚合物的 cloudbuild.yaml 文件
steps:
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/myapp-polymer', '.' ]
images:
- 'gcr.io/$PROJECT_ID/myapp-polymer'
Run Code Online (Sandbox Code Playgroud)
然后这是我的主要 cloudbuild.yaml 文件
steps:
- name: 'gcr.io/cloud-builders/npm'
args: ['--prefix', 'myapp','install']
- name: 'gcr.io/cloud-builders/npm'
args: ['--prefix', 'myapp/functions', 'install']
- name: 'gcr.io/$PROJECT_ID/myapp-polymer'
args: ['cd', 'myapp']
- name: 'gcr.io/$PROJECT_ID/myapp-polymer'
args: ['build']
Run Code Online (Sandbox Code Playgroud)
我阅读了 Google Cloud API,特别是“加速构建”部分(https://cloud.google.com/cloud-build/docs/speeding-up-builds)
我认为它只是缓存构建图像并使用它。有什么方法可以在 Google Cloud 中专门缓存 npm 包、依赖项等,这样我就不必每次都构建整个应用程序?我的主要目标是减少构建时间,加快构建过程。
谢谢!