2013-11-19 7 views
22

Я купил 2-3 месяца назад NAS Synology 213air для целей программирования.Настроить GIT на NAS с официальным пакетом Synology

Затем, прежде чем пытаться настроить git вручную на моем NAS, я слышал, что DSM4.3 предложит официальный пакет Synology. Поэтому я решил подождать.

DSM4.3 с пакетом Git теперь отсутствует: http://www.synology.fr/dsm/dsm_app.php#Git, но нет учебника для начинающих, таких как я, чтобы настроить Git.

Итак:

  • Как мы настроить этот официальный пакет?
  • Как создать репо с одним из моих проектов на моем NAS?
  • И наконец, как я буду «взаимодействовать» с моим проектом?

ответ

28

Я нашел некоторую полезную информацию на форуме Synology здесь:

http://forum.synology.com/enu/viewtopic.php?f=190&t=73064

Сначала вы должны установить пакет с помощью менеджера пакетов DiskStation и включить его. Это создаст папку Git на NAS. Я создал пользователя под названием «gituser» и предоставил ему права на чтение/запись в папку Git. Вам не нужно это делать, но мне нравится создавать пользователей специально для разных функций на NAS. Оттуда вам нужно будет настроить свой репозиторий вручную, потому что графического интерфейса, предоставляемого Synology пока нет.

Чтобы создать репозиторий, вам необходимо включить SSH для своего NAS. Перейдите на панель управления -> терминал -> включите службу SSH и убедитесь, что она включена. Теперь SSH к нему, используя учетную запись администратора/пароль. cd на том, который вы создали для NAS (вероятно, volume1). Там должна быть папка git. cd, и создайте там свой репозиторий.

, например:

ssh [email protected] 
cd volume1/git 
git init --bare --shared reponame.git 
(add files, etc) 

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

+0

Как именно я могу теперь использовать SSH, используя учетную запись администратора/пароль. ': -/ –

18

Вы никогда не нужен пакет Git сервера, потому что вы может локально создать голый репо, а затем загрузить его на ваш NAS. Им просто нужно включить WebDAV для доступа к нему. Пакет Git Server позволяет вам использовать ssh в NAS как root и создавать голый репо на NAS вместо того, чтобы его загружать. Вы также можете разрешить пользователям использовать протокол SSH вместо HTTP/HTTPS после установки пакета Git Server. Я создал учебник о нем: http://blog.osdev.org/git/2014/02/13/using-git-on-a-synology-nas.html

+0

Хорошая статья - хотя я полный новичок - как мне SSH в синологию? –

+2

Если вы используете Windows, получите [PuTTY] (http://www.chiark.greenend.org.uk/~sgtatham/putty). У большинства других ОС есть уже установленная программа командной строки ssh. – Chase

+0

После установки пакета Git Server после сообщения в блоге вы можете упростить создание новых репозиториев на DS. Если для некоторых пользователей включен пакет Git Server, оболочка этого пользователя устанавливается на _git-shell_. _git-shell_ позволяет вызывать скрипты в _ ~/git-shell-commands_ через ssh, поэтому создание _ ~/git-shell-commands/mkgit_ с содержимым 'git init --bare" $ 1 "' позволяет создавать новые repos через ssh: 'ssh git-user @ disk-station-addr mkgit reponame.git' или ' ssh git-user @ disk-station-addr mkgit project/subproject.git' – Sergikon

1

Я нашел эту статью, чтобы быть действительно полезным: http://www.sbprojects.com/knowledge/internetwork/synologygit/index.php

Кроме того, здесь ссылка gitbook о создании GIT сервера: http://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server Вы хотите пропустить команда adduser, потому что предположительно вы будете использовать учетные записи пользователей, которые уже присутствуют в синологии.

1

Это решение довольно простое и отлично работает для меня (проверено на DSM 5.1):

http://blog.netgloo.com/2015/04/20/git-server-on-synology-ds115j-installation-and-configurations/

Таковы основные шаги:

  • Установка Git сервера с приборной панели в DSM
  • Создание нового общего хранилища на сервере (через SSH)
  • использования репозиторий на вашем локальном компьютере
  • [Дополнительно] Настройка для фиксации без пароля (с ключами ssh)
Смежные вопросы