GIT, GITOSIS, ВЕБ-САЙТ - Пути - PullRequest
       8

GIT, GITOSIS, ВЕБ-САЙТ - Пути

2 голосов
/ 02 ноября 2009

У меня есть сервер Ubuntu и я установил git и gitosis. Я новичок в администрировании сервера и у меня есть следующее дерево папок Gitosis: /home/git/repositories

Я отредактировал права пользователя на разные репозитории, клонировав gitosis-admin.git на свой локальный компьютер, отредактировал gitosis.conf, добавил открытые ключи пользователя в keydir и отправил его обратно на сервер. Это было проверено с различными репозиториями и работами.

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

Я создал пустой репозиторий в веб-папке, используя SSH Putty; добавил и передал файлы к нему. Затем клонировали его на локальную машину с

git clone git(at)server:web_repo.git

Это было успешно.

Проблема в том, что когда я пытаюсь отправить его обратно на сервер, по пути / home / git / repositories создается репо, а репо веб-папки не затрагивается.

Я пытался объединить информацию из:

http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way

http://urbanpuddle.com/articles/2008/07/11/installing-git-on-a-server-ubuntu-or-debian

http://danielmiessler.com/blog/using-git-to-maintain-your-website

http://toroid.org/ams/git-website-howto

http://www.ibm.com/developerworks/web/library/wa-git/

Ответы [ 3 ]

1 голос
/ 23 ноября 2009

Может быть полезно знать, какую версию Ubuntu вы используете. Gitosis - , вероятно в репозитории apt-get, и это точно Debian Lenny. Установка из репозитория на мой намного более чистая. Учитывая потенциальные проблемы с безопасностью в этом программном обеспечении, я настоятельно рекомендую использовать репо. Но это зависит от вас. Если тянуть и толкать удачно, такой подход не причиняет вреда.

Когда вы отправляетесь в репозиторий git с помощью gitosis, зацепки (post-update - это то, что вам нужно здесь) выполняются как пользователь gitosis или git. Я подозреваю, что ваша проблема связана с этим. Вы можете подумать о написании хука suid post-update, чтобы он мог работать как ваша учетная запись пользователя или как пользователь веб-редактора или веб-сервера. Вы можете поочередно chown -R git:git (или gitosis:gitosis в зависимости от вашей настройки) клонировать локальное развертывание. Если вам нужно отредактировать эти репозитории на сервере, не забудьте использовать sudo -u git для внесения любых изменений в качестве подходящего пользователя.

0 голосов
/ 06 ноября 2009

из того, что вы разместили в ваших комментариях, ваш скрипт оболочки не работает, WORKDIR не установлен (эта строка является примечанием)

однако, я не думаю, что это хорошая идея, что вы имеете в виду (за одним исключением: то, что вы пытаетесь обновить, это ваш сервер разработки)

0 голосов
/ 04 ноября 2009

Вы установили перехват после обновления в / home / git / repositories-repo, как описано в разделе «Включение автоматических обновлений после отправки изменений из вашего Dev Box» в http://danielmiessler.com/blog/using-git-to-maintain-your-website? Это должно быть уловкой для передачи контента из центрального репо в live-клон. Чтобы это работало, пользователю git требуется доступ на запись к живому клону.

...