Как обслуживать голые репозитории git со статического сервера?

Я использую NodeJS-Git-сервер, который, по сути, позволяет клиентам подключаться к моему серверу и клонировать голые репозитории git на диск. NodeJSGitServer создает соединение с клиентским процессом git, чтобы установить, какие пакеты отсутствуют на его машине, а затем сервер передает их клиенту. Это стандартный git-протокол.

NodeJSGitServer порождает дочерние процессы, которые запускают git-upload-pack и git-receive-pack, которые затем передают пакеты ответу клиента.

Однако эти команды git принимают в качестве аргумента путь к локальному репозиторию git. Так что, похоже, мне нужно разместить все мои голые репозитории git на одном сервере, на котором выполняются эти команды git для связи с клиентами. Есть ли способ разместить эти голые репозитории git на отдельном сервере от моего узла, например, ведро S3. Я планирую использовать Heroku, а их хранилище эфемерно и ограничено.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
147
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  • Сервер nodejs обрабатывает только репозитории, доступные по локальным путям,

  • AFAIK, git-upload-pack и git-receive-pack предназначены для работы в системе, где размещены репозитории.


Вы можете попытаться смонтировать удаленные репозитории локально, например, используя nfs или sshfs. Хотя делайте тестовые выступления.

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

Saoud Rizwan 05.04.2019 00:46

Другие вопросы по теме