node.js - 从 NodeJS 到 App 引擎的 Google Cloud 构建
问题描述
我正在尝试使用 Google 的 Cloud 构建基于触发器构建 NodeJS 应用程序。
我在 Bitbucket 中有我的代码,并且存储库被镜像到 Google 的源存储库中。repo 有一个客户端和服务器目录。我让 repo 的客户端部分启动了一个 react 应用程序的构建并部署到一个 Firebase 托管网站。
app.yaml
但是,服务器应用程序在查找文件时给我带来了各种麻烦。如果我通过gcloud app deploy
我的部署从服务器目录本地进行构建就可以了。
如果我将应用程序推送到我的存储库并尝试使用 Google Cloud 构建,我在定位app.yaml
文件时会遇到问题
我的cloudbuild.yaml
档案
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app', 'deploy', 'app.yaml']
dir: 'server'
和我的app.yaml
env: flex
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
然后我收到一个错误,说它找不到app.yaml
文件
Step #1: ERROR: (gcloud.app.deploy) [/workspace/server/app.yaml] does not exist.
我已经求助于使用 docker 来构建映像并以这种方式部署,但无法弄清楚为什么这不起作用。我假设我遗漏了一些明显的东西,比如 app.yaml 不存在,但它在 repo 中。
解决方案
推荐阅读
- java - 日期在java中显示为快速毫秒而不是正确的格式
- python - 在 B 中找到 A 中的子字符串
- ruby-on-rails - 将参数添加到由字符串定义的路径 - rails
- clojure - 如何解决 Clojure 中的“有状态问题”?
- c++ - 自定义分配器,new/delete vs malloc()/free()
- networking - Nagios & NRPE 插件连接被拒绝
- html - 如何重定向到 url 外部示例 www.google.com
- laravel - 如何将 @error 类放在 laravelcollective 上
- c# - 基于国家/地区的多个网站
- spring-boot - Service 类中的 Redis 缓存似乎不起作用