【发布时间】:2021-02-10 05:49:32
【问题描述】:
我是谷歌云的新手,我正在努力在一个简单的 MERN 堆栈应用程序上实现 CI/CD。
我能够设置谷歌云构建并使用自动触发器(来自 github 分支)进行部署工作。 我只有一个问题:在 cloudbuild.yaml 文件中,我插入了几个步骤,首先进行 npm 安装,然后进行 npm 构建,最后进行部署。这个过程很慢,它还将所有代码复制到服务器,而不仅仅是构建文件夹。
我想了解如何配置文件以便能够使用 github 存储库中已经存在的构建文件夹并直接进行部署,而无需进一步的步骤。 在我使用 react 的前端,我唯一要做的就是提供静态 index.html 文件。
这是我目前的配置(仅前端,理解)
steps:
# Step 0: FRONTEND npm install
- name: "gcr.io/cloud-builders/npm"
dir: 'frontend'
args: ['install']
timeout: "5m"
# Step 1: FRONTEND optimized build
- name: "gcr.io/cloud-builders/npm"
dir: 'frontend'
args: ["run", "build"]
timeout: "5m"
# Step 2: FRONTEND Deploy cloud app frontend
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy", "-v", "0-1-2", "app.yaml"]
dir: 'frontend'
timeout: "20m"
timeout: 60m
在我的远程存储库中,我已经准备好使用构建文件夹,但我不知道如何完成这项工作。
我也尝试过类似的方法: Upload build folder in Google Cloud Build 没有成功。
其中一个问题是,在进程结束时,云构建似乎正在尝试启动 npm start。
最后,我目前正在使用 express 来简单地提供静态文件。 使用谷歌云可以避免使用它并简单地从 app.yaml 文件配置处理程序吗? 如果我不实现 express,它在后台使用什么 Web 服务器来提供文件?
【问题讨论】:
标签: google-app-engine google-cloud-platform google-cloud-build