Защита сервера Git от Windows? - PullRequest
3 голосов
/ 29 апреля 2011

Используя msysgit и copssh, можно ли защитить часть ssh так, чтобы она могла обращаться только к соответствующим исполняемым файлам git и была ограничена доступом только к одной папке?

У меня такое ощущение, что git-сервер в Windows будет гораздо более открытым, чем svn-сервер, такой как visual svn. Я надеюсь быть неправым.

Ответы [ 5 ]

2 голосов
/ 29 апреля 2011

В Windows я считаю, что Apache и Smart Http (серверная часть git-http) являются лучшим способом размещения Git-сервера.

https://web.archive.org/web/20100308035130/http://progit.org/2010/03/04/smart-http.html

А что касается контроля доступа, я бы посоветовал вам сделать его простым и иметь файл conf доступа svn или даже gitolite / gitosis и написать простые хуки в репозитории Git (в Python, Ruby и т. Д.)

Хуки обеспечат вам довольно хороший контроль над репозиторием Git. Вы можете контролировать проверки для каждой ветви, проверки для определенных папок и т. Д.

Взгляните на страницу руководства git hooks. pre-receive или update - это крючки, которые вы можете использовать для этой цели.

Посмотрите на эту удивительную главу из Pro Git о том, как использовать перехватчики Git на стороне сервера для реализации политики - https://git -scm.com / book / ru / v2 / Customizing-Git-An-Example- Git-Насильственные-политика

Вы можете легко настроить их и добавить функциональность в соответствии с вашими целями.

2 голосов
/ 29 апреля 2011

Я бы использовал сервер Linux для вашего центрального хранилища Git. Установите гитолит. Это позволит вам управлять правами ветки и т. Д.

UPDATE:

В соответствии с вашими последними комментариями, просто начните с отката и покончите с этим за 1 минуту. Если вас беспокоит использование 500 МБ свободного места, которое они предоставляют, большие не частные артефакты могут быть сохранены как подмодуль, который может быть размещен на github.

надеюсь, это поможет!

1 голос
/ 03 июня 2011

Альтернативой может быть использование https://github.com/jakubgarfield/Bonobo-Git-Server/wiki

1 голос
/ 02 мая 2011

Я бы очень рекомендовал использовать один из проектов Git-HTTP. Смотрите мой ответ на: https://serverfault.com/questions/58425/setting-up-git-repository-on-remote-windows-server/163065#163065

Вы пытаетесь заставить Windows вести себя как UNIX. Лучше поторопиться и использовать решение на основе .NET в качестве серверной части Git.


Если вы имеете дело с небольшим проектом из двух человек (как вы упомянули в комментариях), вы также можете разместить git-репозиторий в сетевой папке Windows. Это просто работает, и вы клонируете путь UNC (или букву подключенного диска) в вашем git-клиенте.

Для путей UNC, когда вы используете косые черты вместо обратных (то есть //server01/git/myrepos.git).

0 голосов
/ 26 сентября 2016

Когда я начал изучать настройку корпоративного git-сервиса, у нас были следующие требования: 1. Управлять git-репозиториями как проектами, где мы можем обеспечить самообслуживание для контроля доступа на уровне проекта.2. Интеграция с LDAP-логином. 3. Низкие административные усилия.

Я оценил vanilla git, git + git-http, gitolite.Это решение потребует администратора для управления доступом.Если команда большая, это будет значительное усилие.Если команда небольшая (5-10 разработчиков), с ванильным git все в порядке.

Я посмотрел на github enterprise, использую github, а затем и bitbucket.В итоге мы купили bitbucket и получили готовую версию.Bitbucket отвечает всем нашим требованиям.Кроме того, мы можем выборочно синхронизировать некоторые группы AD с битбакетом и управлять доступом на уровне группы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...