Google cloud platform 云构建->;谷歌云存储:关于部署时停机时间的问题

Google cloud platform 云构建->;谷歌云存储:关于部署时停机时间的问题,google-cloud-platform,google-cloud-storage,google-cloud-build,Google Cloud Platform,Google Cloud Storage,Google Cloud Build,早上好,上面的代码片段是通过Google Cloud Build将我的VueJS前端的构建复制到Google Cloud存储桶的命令,该存储桶将承载网站 我的问题很简单:如果任何用户在部署时(执行上述命令)正在浏览,当Cloud Build通过rsync复制/同步新文件时,他是否会注意到任何不一致、停机或类似情况?此任务是否足够无缝?也许用户在访问某个正在复制的文件时会感到不一致?我应该改用Cloud Run吗?是的,可能会有一段时间不一致(文件过时或找不到)。最好的解决方案是使用一种以一致的方

早上好,上面的代码片段是通过Google Cloud Build将我的VueJS前端的构建复制到Google Cloud存储桶的命令,该存储桶将承载网站


我的问题很简单:如果任何用户在部署时(执行上述命令)正在浏览,当Cloud Build通过rsync复制/同步新文件时,他是否会注意到任何不一致、停机或类似情况?此任务是否足够无缝?也许用户在访问某个正在复制的文件时会感到不一致?我应该改用Cloud Run吗?

是的,可能会有一段时间不一致(文件过时或找不到)。最好的解决方案是使用一种以一致的方式包装来源的产品。您可以使用Cloud Run,但也可以使用App Engine standard


这两种解决方案的主要优点是,每个版本都是统一的,封装在同一个容器中。这样,您就可以轻松地执行回滚、流量拆分、金丝雀释放、A/B测试等等,。。。。所有这些在云存储中都是不可能的。

如果你是静态托管网站,你可以在每次部署时创建一个新的bucket,最后将DNS更改为指向新网站。再次感谢。你总是很乐于助人我将使用云运行。云CDN或其他策略是否可以帮助某人将VueJS前端部署到云存储桶,而不会在部署时遇到这些暂时的不一致?云CDN或其他缓存策略可以帮助你,也可以杀死你!事实上,如果同时缓存所有文件,它可以帮助您。如果文件未在同一时间加载,例如每个间隔1分钟,CDN将通过提供过时和不一致的文件来创建不一致性。如果您使用CDN,请在部署后使缓存无效。谢谢,如果我使用云CDN并在每次部署后使其无效,那么我对部署时间不一致(404’d或过期文件)不会有任何问题?文件总是从CDN访问,而不是(直接)从bucket访问?另外,您会推荐使用云构建的云存储的哪些部署管道/策略,以便我可以回滚到上一个构建?对象版本控制对于项目级回滚似乎是不灵活的。GCS不适合轻松回滚。最简单的方法是将当前版本的文件备份到GCS中的另一个路径中,并用新版本覆盖当前路径中的文件。
- name: 'google/cloud-sdk:alpine'
  entrypoint: 'gsutil'
  args: ['-m', 'rsync', '-r', '-d', '-p', 'dist/', 'gs://my-site-frontend']