Монтирование Google Cloud Storage в Linux — NetDrive для CI

3 мин чтения provider-guide google-cloud-storage linux
Kai
KaiJunior Engineer
Подключите бакет Google Cloud Storage как локальный путь в Ubuntu с помощью NetDrive — настройка доступа к GCS для CI-раннеров и билд-агентов на Linux.

Билд-агенту на Ubuntu нужно читать заранее собранные слои контейнеров и эталонные датасеты, хранящиеся в бакете Google Cloud Storage, а текущий шаг пайплайна — это gsutil cp с последующим ожиданием. Каждая job скачивает гигабайты данных ещё до старта самого набора тестов, а половина фикстур между запусками вообще не меняется. Монтирование этого бакета GCS как пути на раннере убирает шаг копирования: пайплайн читает прямо из бакета, как будто это обычная директория на диске.

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

Монтируйте GCS в Ubuntu — без шага скачивания

NetDrive показывает Google Drive, OneDrive, S3, SFTP, WebDAV и другие хранилища как обычные диски в Windows и macOS — без синхронизации и полной загрузки файлов.

  • Читайте объекты бакета как обычные пути файловой системы — без изменений клиентской библиотеки
  • Работает на тех же сборках Ubuntu 16.04+, что уже используют ваши CI-раннеры
  • Автомонтирование готовит путь ещё до старта job
Linux
Скачать NetDrive →

Бесплатный пробный период. Доступны бессрочная лицензия и подписка.

Поддержка GCS и что значит «экспериментальный» статус в Linux

NetDrive поддерживает Google Cloud Storage с первых релизов, включая обработку MIME-типов, добавленную в версии 3.15.450. Эта часть одинакова для Windows, macOS и Linux — та же логика подключения к GCS, тот же просмотр бакетов.

Сама сборка для Linux — другая история. Релиз NetDrive для Linux распространяется из github.com/NetDrive/installer и помечен как экспериментальный, а не как стабильный продакшн-релиз. Он работает на Ubuntu 16.04 и новее. Для CI-сценария это важное различие: монтирование GCS на Linux-раннере подходит для билд-агентов, staging-задач и внутренних инструментов — но не как слой хранения для клиентского продакшн-сервиса. Если команде нужен стабильный, полностью поддерживаемый вариант, рекомендуемая среда — Windows или macOS.

Значок подключения Google Cloud Storage в NetDrive на экране настройки диска

Настройка бакета как точки монтирования

После установки NetDrive из релиза GitHub для вашей версии Ubuntu добавление бакета GCS происходит так же, как и для любого другого провайдера:

  1. Open NetDrive → нажмите + Add Drive и выберите Google Cloud Storage из списка провайдеров.
  2. Войдите под учётной записью Google, которая владеет целевым проектом и бакетом (или имеет к ним доступ на чтение/запись).
  3. Выберите нужный бакет и назначьте точку монтирования — путь к директории вроде /mnt/gcs-fixtures, а не букву диска, как в Windows.
  4. Укажите, монтируется ли диск автоматически при загрузке — это важно для CI-раннера, который может перезагружаться между job без залогиненного пользователя.

После монтирования бакет появляется в файловой системе как обычная директория. Тестовому раннеру, указывающему на /mnt/gcs-fixtures/snapshots/, не нужно знать или заботиться о том, что файлы на самом деле лежат в Cloud Storage.

Менеджер дисков NetDrive с несколькими облачными аккаунтами, смонтированными как отдельные пути

Проверка монтирования перед тем, как job начнёт на него полагаться

Job CI, которая считает монтирование успешным и падает на середине тестового прогона — хуже, чем job, падающая ещё на этапе настройки. Проверяйте статус монтирования до того, как пайплайн продолжит выполнение — простой ls по точке монтирования или проверка через утилиту командной строки nd3cmd от NetDrive подтвердит, что бакет действительно подключён и доступен для чтения, прежде чем что-либо ниже по цепочке начнёт его использовать.

Проверка активности и отклика точки монтирования NetDrive

Если монтирование выглядит пустым или job зависает в ожидании, повторите шаг Add Drive и перепроверьте учётные данные — большинство сбоев на этом этапе связаны с истёкшим или отозванным токеном аккаунта Google, а не с самим бакетом.

Итог

Для билд-агентов и внутренних инструментов на Ubuntu монтирование бакета GCS через NetDrive превращает объектное хранилище в обычный путь, устраняя шаблон «скачать, затем запустить», принятый по умолчанию в большинстве CI-конфигураций. Если ваш пайплайн вместо этого читает из Amazon S3, Mount Amazon S3 on Linux with NetDrive описывает аналогичную настройку, а NetDrive on Ubuntu Linux охватывает детали установки, применимые независимо от провайдера. Командам, уже использующим этот подход с тестовыми фикстурами S3, также будет полезна статья S3 Test Fixtures for CI Teams, описывающая более общий паттерн.

— Kai, NetDrive