在 Linux 上挂载 Google Cloud Storage — 面向 CI 流水线的 NetDrive
使用 NetDrive 在 Ubuntu 上将 Google Cloud Storage 存储桶挂载为本地路径 — 为 Linux 上的 CI 运行器和构建代理配置 GCS 访问。
运行 Ubuntu 的构建代理需要读取存放在 Google Cloud Storage 存储桶中的预构建容器层和参考数据集,而目前流水线步骤是先执行 gsutil cp 再等待。每次任务都要先下载数 GB 数据,测试套件才真正开始,而其中一半的测试数据在多次运行之间根本不会变化。将该 GCS 存储桶挂载为运行器上的一个路径,就能省去复制这一步:流水线直接从存储桶读取数据,就像读取磁盘上任何其他目录一样。

在 Ubuntu 上挂载 GCS — 跳过下载步骤
NetDrive 让 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 和 macOS 上显示为本地驱动器 — 无需同步,无需完整下载。
- 将存储桶对象当作普通文件路径读取,无需更改客户端库
- 适用于你的 CI 运行器已在使用的 Ubuntu 16.04+ 系统
- 自动挂载确保路径在任务开始前已就绪
免费试用。提供终身与订阅方案。
GCS 支持,以及 Linux 上”实验性”的含义
NetDrive 自最早的版本起就支持 Google Cloud Storage,包括在 3.15.450 版本中加入的 MIME 类型处理。这一部分在 Windows、macOS 和 Linux 上是相同的——相同的 GCS 连接逻辑,相同的存储桶浏览方式。
Linux 版本本身则是另一回事。NetDrive 的 Linux 版本发布于 github.com/NetDrive/installer,被标记为实验性,而非稳定的生产级发布版。它可在 Ubuntu 16.04 及更高版本上运行。这一区别对 CI 使用场景很重要:将 Linux 运行器上的 GCS 挂载视为适用于构建代理、预发布任务和内部工具——而不是面向客户的生产服务的存储层。如果你的团队需要稳定、完全支持的使用体验,推荐使用 Windows 或 macOS 环境。

将存储桶设置为挂载点
从适用于你 Ubuntu 版本的 GitHub 发布版安装 NetDrive 后,添加 GCS 存储桶的流程与添加其他任何提供商相同:
- 打开 NetDrive → 点击 + Add Drive,并从提供商列表中选择 Google Cloud Storage。
- 使用拥有(或具有读写权限的)目标项目和存储桶的 Google 账号登录。
- 选择要挂载的存储桶,然后指定一个挂载点——例如
/mnt/gcs-fixtures这样的目录路径,而不是 Windows 盘符。 - 选择该设备是否在启动时自动挂载,这一点对可能在无人登录的情况下在任务之间重启的 CI 运行器尤为重要。
挂载完成后,该存储桶就会像文件系统中的其他目录一样出现。指向 /mnt/gcs-fixtures/snapshots/ 的测试运行器无需知道或关心这些文件实际存放在 Cloud Storage 中。

在任务依赖挂载之前先验证它
如果一个 CI 任务假定挂载已经成功,却在测试运行到一半时失败,这比在设置阶段就失败更糟糕。在流水线继续之前先检查挂载状态——对挂载点执行一次简单的 ls,或使用 NetDrive 的 nd3cmd 命令行工具进行检查,即可在下游任何环节尝试使用之前确认该存储桶确实已连接且可读。

如果挂载后为空或任务在等待时挂起,重新执行 Add Drive 步骤并重新检查凭据——此阶段的大多数故障都可追溯到过期或已撤销的 Google 账号令牌,而不是存储桶本身出了问题。
总结
对于运行在 Ubuntu 上的构建代理和内部工具,使用 NetDrive 挂载 GCS 存储桶能把对象存储变成一个普通路径,从而省去大多数 CI 配置默认采用的先下载再运行的模式。如果你的流水线改为读取 Amazon S3,在 Linux 上使用 NetDrive 挂载 Amazon S3 介绍了等效的设置方法,而 在 Ubuntu Linux 上使用 NetDrive 涵盖了适用于任何提供商的安装细节。已经在 S3 测试数据上这样操作的团队,也可以参考 面向 CI 团队的 S3 测试数据 了解更广泛的应用模式。
— Kai, NetDrive