google-cloud-platform - Cloud Build -> Google Cloud Storage:关于部署时停机时间的问题
问题描述
- name: 'google/cloud-sdk:alpine'
entrypoint: 'gsutil'
args: ['-m', 'rsync', '-r', '-d', '-p', 'dist/', 'gs://my-site-frontend']
早上好,上面的代码片段是通过 Google Cloud Build 将我的 VueJS 前端的构建复制到将托管网站的 Google Cloud Storage 存储桶的命令。
我的问题很简单:如果任何用户在此部署时正在浏览(执行上述命令),当 Cloud Build 通过 rsync 复制/同步新文件时,他是否会注意到任何不一致、停机或类似情况? 这项任务是否足够无缝?也许用户在访问某些正在复制的文件时会感到有些不一致?我应该改用 Cloud Run 吗?
解决方案
是的,您可能会在一段时间内出现不一致(文件已过期或未找到)。最好的解决方案是使用以一致方式打包资源的产品。您可以使用 Cloud Run,但也可以为此使用 App Engine 标准。
这两种解决方案的主要优点是每个版本都是单一的,打包在同一个容器中。像这样,您可以轻松地执行回滚、流量拆分、金丝雀发布、A/B 测试……所有这些都是 Cloud Storage 无法实现的。
推荐阅读
- javascript - 当只有 $eval 给出结果时如何获取所有 innerHTML($$ 返回未定义)
- sql - 如何在 SQL 表中复制计算的哈希值?
- r - R将函数应用于数据框中的组,将结果添加为附加列
- r - R数据框:观察列上变量的演变
- discord.js - 如何通过邀请链接获得公会?不和谐.js
- python - 如何根据作为输入的列表正确排序 QTreeView 中的列
- powershell - 使用 Powershell 拆分文本文件
- intellij-idea - Intellij idea编辑窗口左侧栏如何添加图标?
- php - 在 php 中运行 gcloud 命令不起作用
- huawei-mobile-services - 使用服务器端华为移动服务 API 获取应用级访问令牌时出现错误代码 401