如何确保将存储桶中的文件压缩到我的网站上?

问题描述

我在Google Cloud Platform中为我的网站设置了一个类似Gatsbyjs的项目:

  1. 推送到存储库
  2. 触发CloudBuild,将我的Gatsby网站构建到公用文件夹中
  3. 使用rsync将“ public”文件夹中的文件复制到存储桶中

但是,当我访问我的网站(连接到Bucket的LoadBalancer)时,.js,.css,.html文件没有被用作gzip。 我知道if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $row2 = $result2->fetch_assoc(); $row3 = $result3->fetch_assoc(); 命令上似乎有一个gzip标记,但这对cp来说是如何工作的?

谢谢

解决方法

如果您想使用rsync“即时压缩”文件,则不可能。

但是,如果您只想将gzip传输编码应用于某些文件,则可以使用rsync的-j <...>选项。这样可以节省网络带宽,但会在存储桶中保留未压缩的数据。

但是,如果要从公用文件夹中提取未压缩的文件并将其发送到存储桶并保持压缩状态,则需要执行gsutil cp -z command。这将压缩您的文件(如果未在公共文件夹中将其压缩)并将其压缩存储在存储桶中