January 8, 2023

Git-сервер в локальной сети 2. Синхронизация

ТехнологииБольше по теме

Продолжение статьи https://teletype.in/@electronic_fields_notes/Y04u2I5edBZGyNot

Синхронизировать локальный репозиторий можно с помощью любой системы - Nextcloud, Яндекс.Диск, Облако Mail и пр.

Я буду использовать сервис Resilio Sync.

Устанавливаем Resilio

  • Добавляем репозиторий командой:
echo "deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free" \ 
| sudo tee /etc/apt/sources.list.d/resilio-sync.list
  • Добавляем публичный ключ GPG:
wget -qO - https://linux-packages.resilio.com/resilio-sync/key.asc \
| sudo apt-key add -
  • Обновляем список пакетов и производим установку Resilio:
sudo apt-get update && sudo apt-get install resilio-sync
  • Добавляем сервис:
sudo systemctl enable resilio-sync
  • Меняем разрешения:
sudo usermod -aG git rslsync
sudo usermod -aG rslsync git
sudo chmod g+rw /home/rslsync/

где:

    • git - имя пользователя и группа
    • rslsync - имя пользователя и группа
  • Для доступа к веб-интерфейсу меняем настройки в файле:
sudo vim /etc/resilio-sync/config.json

на:

"webui" :
 {
 "force_https": true,
 "listen" : "0.0.0.0:8888"
 }

Схема синхронизации Git-репозитория

Схема синхронизации.
  • На сервере добавляем папку с репозиториями через стандартный интерфейс в синхронизацию:
Интерфейс Resilio

2) Делимся ссылкой:

Делимся папкой через Resilio
  • Добавляем папку синхронизации на рабочую машину.
  • На рабочей машине клонируем из локальной копии, например:
git clone /mnt/c/Users/xakep/Resilio Sync/git/super-duper-project.git

Все изменения сохраняем в локальный экземпляр, который синхронизирует данные с сервером.

Готово!

ТехнологииБольше по теме