【问题标题】:Missing a step to update a static ReactJS site on GCloud缺少在 GCloud 上更新静态 ReactJS 站点的步骤
【发布时间】:2018-10-06 12:20:24
【问题描述】:
人们会认为简单地替换与应用关联的存储桶中的内容会更新应用,但事实并非如此。
我有一个昨天部署的站点。我创建了存储桶,然后在命令行中创建了目录,然后部署了 React 应用程序
gsutil rsync -r gs://bucket-name ./app-name
然后我进入项目目录并做了
gcloud app deploy
昨天一切正常。但是今天我进行了更改,进入同一个目录,你根本不能再做gcloud app deploy。我将新的构建文件夹复制到存储桶中。但是好像少了一个步骤?我运行了与昨天相同的命令,认为rsync 可能会将存储桶同步到应用程序,然后我回到应用程序并进行了另一次部署。然而一切都没有改变。我错过了什么步骤?
此问题与以下内容无关:
How to Quickly Update Static Site on Google Cloud Storage?
【问题讨论】:
标签:
reactjs
google-cloud-platform
rsync
【解决方案1】:
下面是一个实际可行的简单解决方案。谷歌的文档过于复杂而且用处不大。而他们的“技术支持”也无法解决问题。
这就是我能够使用命令行实用程序在 gcloud 上更新我的静态站点的方式。
- 创建一个新的存储桶,最好使用类似 appname-v2 的版本命名
- 将您最近的构建复制到该存储桶中
- 删除旧存储桶
- 在控制台的主要区域,您可以在其中看到应用目录,执行
gsutil rsync -r gs://[bucketname] ./appname
-
cd进入目录
- 运行
gcloud app deploy
因此,如果您的应用程序的最新版本是 3,如果您的应用程序的目录是 stackoverflow,并且您的存储桶是“bucket”,那么您的 gsutil 命令看起来像
gsutil rsync -r gs://bucket-v3 ./stackoverflow
Gcloud 控制台 - 显示存储桶版本的命名
已部署的站点 - 测试
有很多相关的问题,他们在“缓存”等问题上不停地嗡嗡作响。读起来毫无意义。只需删除旧存储桶并重新部署即可。
当然,这是针对一个小型应用程序,有一些方法可以“正确执行”,但祝你好运在文档中找到它。我认识的每个使用 gcloud 的人都有几种解决方法。