Как настроить контейнер больших двоичных объектов Azure Storage в качестве репозитория SVN, доступного для TortoiseSVN

У меня есть учетная запись хранения Azure и контейнеры больших двоичных объектов внутри StorageV2, и я установил TortoiseSVN на свой локальный компьютер с Windows. Что мне нужно настроить/настроить, чтобы использовать blob-контейнер в качестве файлового репозитория с TortoiseSVN?


1
76
1

Ответ:

Решено

Если вы хотите разместить свой репозиторий Subversion в Azure, вам необходимо развернуть сервер Subversion на виртуальной машине Azure и получить доступ к своим репозиториям с помощью HTTP(S) или протокола svnserve. Нет необходимости использовать файловые ресурсы для хранения BLOB-объектов.

  1. Создайте виртуальную машину Windows в Azure.
  2. Добавьте управляемый диск данных (который по сути является страничным BLOB-объектом, кстати). SSD рекомендуется для лучшей производительности.
  3. Установите VisualSVN Server на ВМ и настройте его для хранения репозиториев на управляемом диске.

Вам также потребуется открыть HTTPS-порт 443, чтобы конечные пользователи могли получить доступ к вашим репозиториям. И это все.

Относительно использования хранилища BLOB-объектов:

Вы не можете хранить репозиторий Subversion или рабочую копию в хранилище BLOB-объектов Azure. Насколько мне известно, ни Subversion, ни Azure Blob Storage не были предназначены для этого. И я не понимаю, как вообще возникла эта идея. Как вы планируете использовать аналитику больших данных из Azure Data Lake с набором двоичных файлов версий (файлов, которые хранятся в каталоге репозитория /db/revs/)?

Subversion нуждается в реальной файловой системе для работы. Текущий формат серверной части репозитория Subversion — FSFS (файловая система на основе файловой системы, если я правильно ее помню), которую необходимо хранить в реальной файловой системе, а хранилище BLOB-объектов Azure не предоставляет ее. Вы не можете рассматривать хранилище BLOB-объектов как диск и подключать его. Хранилище BLOB-объектов как облачное объектное хранилище по умолчанию имеет плоское пространство имен, даже не поддерживая каталоги, как это делают настоящие файловые системы. И я почти уверен, что он не отвечает другим требованиям Subversion к хранилищу.

Возможно, технически возможно использовать хранилище файлов Azure с протоколом SMB2.1+ для размещения репозиториев Subversion, но это категорически не рекомендуется, поскольку при работе с таким удаленным репозиторием вы получите наихудшую возможную производительность.

Обратите внимание, что доступ к репозиторию Subversion в бессерверном режиме с использованием протокола file:// сам по себе допустим, если вы являетесь единственным пользователем репозитория и не нуждаетесь в каких-либо дополнительных функциях, но репозиторий должен быть размещен локально на вашем компьютере. Если вам нужен удаленный доступ или у репозитория несколько пользователей, то вам необходимо развернуть сервер Subversion.