Хук Subversion не принимает сертификат постоянно - PullRequest
6 голосов
/ 30 октября 2008

Надеюсь, кто-нибудь сможет ответить на мой вопрос.

У меня настроена Subversion, обслуживаемая Apache2 + SSL, занимаюсь веб-разработкой.

Я хочу ловушку post-commit, которая запускает svn update на моем тестовом сервере, поэтому, когда кто-то фиксирует, он автоматически обновляет сайт тестирования. Хук не работает, потому что сертификат самогенерируемый и ему не доверяют.

Я пытался принять (p) по ошибке, но это не так.

Есть идеи?

Ответы [ 7 ]

8 голосов
/ 26 февраля 2009

root владел папкой .subversion в моем $ HOME, поэтому я удалил ее и снова запустил svn up. Теперь все хорошо.

5 голосов
/ 29 марта 2010

под Linux:

Здесь я исправил проблему, изменив файлы в $ HOME / .subversion / auth / svn.ssl.server в -rw-r - r--. Очевидно, что если сервер получает новый или обновленный сертификат, он записывает новый файл, но не добавляет для себя права на запись. с правами -r - r - r-- программа svn работает, но не может записать в файл флаг "Принять навсегда" ..:)

1 голос
/ 30 октября 2008

Возможно, Subversion работает от имени другого пользователя, чем тот, с которым вы приняли сертификат, когда вызывается ловушкой. Попробуйте выяснить пользователя (например, поместите «echo $ USER> / tmp / svn-hook-user» в сценарий перехвата post-commit) и используйте sudo для принятия сертификата от имени этого пользователя.

Кроме того, обратитесь к книге Subversion о том, как настроить свою конфигурацию так, чтобы принимаемые самозаверяющие сертификаты принимались: Управление сертификатами SSL .

1 голос
/ 30 октября 2008

Вы не сказали, на какой платформе работает ваш тестовый сервер, но если это Windows-бокс, вам нужно добавить сертификат в хранилище сертификатов вашего тестового сервера. Следующие технические статьи могут быть полезны:

0 голосов
/ 18 мая 2011

Когда ваш сайт тестирования находится на том же сервере, используйте файл : /// для извлечения хранилища, чтобы избежать проверки сертификата.

svn co file:///path_to/your/repo
0 голосов
/ 22 августа 2010

Была такая же проблема при настройке Windows Server с Apache. Хук пост-фиксации потерпит неудачу. Я не уверен насчет SVN, но я использую VisualSVN Server, который работает как служба Windows. Учетная запись пользователя по умолчанию для этой службы была Network Service - поэтому я просто изменил учетную запись на свою учетную запись администратора, и все работало.

0 голосов
/ 30 октября 2008

Вы используете sudo или что-то в сценарии? Sudo обычно очищает переменные окружения, поэтому HOME не существует. У вас должен быть доступный для записи домашний каталог, в котором Subversion может хранить информацию о постоянно принятом сертификате. Поэтому установите переменную HOME в начале скрипта, и она должна работать.

...