Я использую NodeJS-Git-сервер, который, по сути, позволяет клиентам подключаться к моему серверу и клонировать голые репозитории git на диск. NodeJSGitServer создает соединение с клиентским процессом git, чтобы установить, какие пакеты отсутствуют на его машине, а затем сервер передает их клиенту. Это стандартный git-протокол.
NodeJSGitServer порождает дочерние процессы, которые запускают git-upload-pack и git-receive-pack, которые затем передают пакеты ответу клиента.
Однако эти команды git принимают в качестве аргумента путь к локальному репозиторию git. Так что, похоже, мне нужно разместить все мои голые репозитории git на одном сервере, на котором выполняются эти команды git для связи с клиентами. Есть ли способ разместить эти голые репозитории git на отдельном сервере от моего узла, например, ведро S3. Я планирую использовать Heroku, а их хранилище эфемерно и ограничено.





Сервер nodejs обрабатывает только репозитории, доступные по локальным путям,
AFAIK, git-upload-pack и git-receive-pack предназначены для работы в системе, где размещены репозитории.
Вы можете попытаться смонтировать удаленные репозитории локально, например, используя nfs или sshfs. Хотя делайте тестовые выступления.
Спасибо! Я нашел аналогичную информацию о требованиях к серверу GitLab: «Помимо локального жесткого диска вы также можете смонтировать том, который поддерживает протокол сетевой файловой системы (NFS). Этот том может быть расположен на файловом сервере, в сетевом хранилище (NAS). ), в сети хранения данных (SAN) или на томе Amazon Web Services (AWS) Elastic Block Store (EBS)».