DockStudio · Модуль синхронизации

Репозитории и облака — как локальный диск

Модуль связывает приложение с внешними сервисами: репозиториями GitHub, GitLab и другими, а также файловыми хранилищами — Яндекс Диском, Google Диском, S3 и сетевыми папками. Файлы и репозитории становятся такими же источниками данных, как локальный диск.

Зачем

Данные лежат в разных местах — работать приходится в одном

Рабочие данные редко лежат в одном месте: исходники в репозитории, документы в облаке, архив на сетевом диске. Обычно это решается копированием туда-сюда вручную — с неизбежной путаницей в версиях. Модуль синхронизации подключает внешние сервисы прямо к приложению: вы видите репозиторий и облачную папку в том же дереве, что и локальные файлы, работаете с ними офлайн, а изменения уезжают обратно, когда появляется связь.

Что подключается

Репозитории кода
GitHubGitLabGiteaBitbucketAzure DevOpsСобственный Git-сервер
Файловые хранилища
Яндекс ДискGoogle ДискOneDriveNextcloudS3-совместимыеWebDAVSMB / сетевые папкиFTP / SFTP

Список открытый: подключение нового сервиса — это адаптер, а не переделка приложения.

Репозитории кода

Привязка репозитория к проекту приложения: история, ветки, изменения и задачи доступны из интерфейса, без переключения на отдельный клиент.

GitHubGitLabGiteaBitbucketAzure DevOpsСобственный Git-сервер
01

Клонирование, ветки, коммиты и слияния

02

Просмотр изменений и история файла

03

Пул-реквесты и код-ревью в панели

04

Задачи и issues рядом с кодом

05

Статусы сборок CI по ветке

06

Авторизация по токену или OAuth

Файловые хранилища

Облачные и сетевые хранилища подключаются как источники файлов: папки проекта синхронизируются в обе стороны с контролем версий и конфликтов.

Яндекс ДискGoogle ДискOneDriveNextcloudS3-совместимыеWebDAVSMB / сетевые папкиFTP / SFTP
01

Двусторонняя синхронизация папок

02

Выборочная синхронизация по папкам и типам

03

Офлайн-кэш и докачка после обрыва

04

Версии файлов и разрешение конфликтов

05

Подключение нескольких аккаунтов сразу

06

Прямые ссылки на файлы внутри приложения

Механика

Как это работает в приложении

Синхронизация — часть платформы, а не отдельная утилита рядом. Прикладные модули обращаются к внешнему хранилищу через тот же интерфейс, что и к локальному диску.

Фоновая работа

Синхронизация идёт в фоне с прогрессом и возможностью отмены: большие выгрузки не блокируют интерфейс.

Очередь и докачка

Прерванная передача возобновляется с места обрыва, отложенные операции копятся в очереди до появления связи.

Журнал операций

Что и когда синхронизировано, кем инициировано, какие файлы пропущены и почему.

Разрешение конфликтов

Если файл изменили с двух сторон, система показывает обе версии и предлагает выбрать или сохранить обе.

Единый API для модулей

Прикладные модули работают с внешним хранилищем через тот же интерфейс, что и с локальным диском.

Контроль доступа

Белый список разрешённых сервисов, запрет на выгрузку отдельных категорий данных, права на подключение аккаунтов.

Безопасность

Внешние сервисы — только те, что разрешены

Список доступных сервисов задаёт администратор: в закрытом контуре можно оставить только внутренние — собственный Git-сервер, S3-хранилище и сетевые папки, полностью отключив внешние облака. Токены доступа хранятся в защищённом хранилище платформы и не попадают в файлы настроек.

Модуль входит в редакции Business и Enterprise; в Community доступна работа только с локальным диском и собственным Git-сервером.

В закрытом контуре

  • Собственный Git-сервер вместо внешних хостингов
  • S3-хранилище и сетевые папки внутри периметра
  • Полное отключение внешних облаков политикой
  • Журнал всех операций с внешними источниками

Нужен сервис, которого нет в списке?

Подключение нового хранилища или хостинга — это адаптер к готовому интерфейсу. Расскажите, с чем работаете, и мы оценим срок.