如何构建我的 app.yaml 文件以成功将我的 Vue 应用程序部署到 Google App Engine?

问题描述 投票:0回答:1

请不要将此标记为转发,因为我已经广泛搜索了我的具体问题并参考下面的这些帖子。我刚开始使用 App Engine,最近一天左右一直在解决此问题。经过彻底研究后,我知道问题源于我的 app.yaml,但我尝试过的所有配置更改都导致了错误。我将从头开始,我从官方文档的设置方式开始

此方法导致上传许多文件,但会导致下面显示的错误(尽管是预期的)

之后我开始寻找特定于 SPA 设置的设置,参考这篇文章

这篇文章在这里甚至这个

我还查看了这篇文章,并且我认为我与手头的任务相关,但最终结果与上面的设置相同。

我在为我的网站提供服务方面取得了零成功,并且遇到了诸如

之类的错误

当我运行时,将其全部关闭

gcloud app deploy
它只上传一个文件。

考虑到当我运行

gcloud meta list-files-for-upload
命令时,我有很多文件,包括我在包含组件的 src 目录中需要的文件,这尤其令人困惑。有人可以向我解释为什么这不起作用以及解决方案是什么?作为参考,我包含了我的项目目录设置,以便大家都可以看到我的应用程序和 cloudbuild.yanl 文件也位于它们应该在的位置。

我还包括了所说的 cloudbuild.yaml 设置,以防存在我不知道的差异

我的日志中也出现了此错误

这篇文章这个官方文档我得到了

npm start
解释,但它说脚本需要在主机上监听
0.0.0.0
这对于SPA来说是必要的吗?我只是想弄清楚我需要做什么。

google-cloud-platform google-app-engine vuejs3 single-page-application app.yaml
1个回答
0
投票

我的解决方案最终是删除 Google Cloud SDK,然后重新安装。之后我修改了我的

cloudbuild.yaml
,效果很好。

这是

cloudbuild.yaml
配置

steps:
- name: node:20
  entrypoint: npm
  args: ["install"]
- name: node:20
  entrypoint: npm
  args: ["run", "build"]
- name: "gcr.io/cloud-builders/gcloud"
  args: ["app", "deploy"]
timeout: "1600s"

这是

app.yaml
配置,供需要参考的人

runtime: nodejs20
handlers:
  # Serve all static files with urls ending with a file extension
- url: /(.*\..+)$ 
  static_files: dist/\1
  upload: dist/(.*\..+)$
  # catch all handler to index.html
- url: /.*
  static_files: dist/index.html
  upload: dist/index.html
© www.soinside.com 2019 - 2024. All rights reserved.