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

时间:2018-04-25 22:23:05

标签: reactjs google-cloud-platform rsync

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

<小时/> 我有一个昨天部署的网站。我创建了存储桶,然后在命令行中创建了目录,然后部署了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?

无关

1 个答案:

答案 0 :(得分:3)

以下是一个实际有效的简单解决方案。谷歌的文档过于复杂,几乎没有用处。他们的“技术支持”无法解决问题。

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

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

因此,如果您的应用程序的最新版本为3,如果您的应用程序的目录是stackoverflow,并且您的存储桶是“存储桶”,则您的gsutil命令看起来像

gsutil rsync -r gs://bucket-v3 ./stackoverflow

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

enter image description here

已部署的网站 - 测试

enter image description here

<小时/> 有很多相关的问题,他们在“缓存”等方面继续无人驾驶。这一切都毫无意义。只需删除旧存储桶并重新部署即可。

当然这是针对一个小应用程序,有一些方法可以“正确地执行它”,但祝你在文档中找到它。我知道与gcloud一起工作的每个人都有几个解决方法。