缺少在GCloud上更新静态ReactJS站点的步骤

JGa*_*rdo 5 rsync reactjs google-cloud-platform

有人会认为只是替换与应用程序关联的存储桶中的内容会更新应用程序,但事实并非如此.


我有一个昨天部署的网站.我创建了这个存储桶,然后在命令行中创建了该目录,然后部署了React应用程序

gsutil rsync -r gs://bucket-name ./app-name
Run Code Online (Sandbox Code Playgroud)

然后我进入项目目录并做了

gcloud app deploy
Run Code Online (Sandbox Code Playgroud)

昨天一切正常.但今天我做了更改,进入同一目录,你根本不能再做gcloud app deploy了.我将新的构建文件夹复制到存储桶中.但似乎缺少一步?我运行了与昨天相同的命令,认为rsync可能会将存储桶同步到应用程序,然后我又回到了应用程序并进行了另一次部署.但一切都没有改变.我错过了什么步骤?


此问题与以下内容无关:如何在Google云端存储上快速更新静态网站?

JGa*_*rdo 3

下面是一个实际可行的简单解决方案。谷歌的文档过于复杂而且没什么用处。他们的“技术支持”无法解决问题。


这就是我如何使用命令行实用程序更新 gcloud 上的静态站点。

  • 创建一个新存储桶,最好使用appname-v2之类的版本命名它
  • 将您最近的构建复制到该存储桶中
  • 删除旧的存储桶
  • 从控制台的主要区域中您可以看到应用程序的目录gsutil rsync -r gs://[bucketname] ./appname
  • cd进入目录
  • 跑步gcloud app deploy

因此,如果您的应用程序的最新版本是 3,如果您的应用程序的目录是 stackoverflow,并且您的存储桶是“bucket”,那么您的gsutil命令将如下所示

gsutil rsync -r gs://bucket-v3 ./stackoverflow
Run Code Online (Sandbox Code Playgroud)

Gcloud 控制台 - 显示存储桶版本的命名

在此输入图像描述

部署站点 - 测试

在此输入图像描述


有很多相关的问题,他们不断地谈论“缓存”等。阅读这些都是毫无意义的。只需删除旧存储桶并重新部署即可。

当然,这是一个小型应用程序,有一些方法可以“正确地做到这一点”,但祝你好运在文档中找到它。我认识的每个使用 gcloud 的人都有几种解决方法。