HG служить в качестве службы Windows - PullRequest
15 голосов
/ 03 марта 2011

Я бы хотел использовать Mercurial на сервере Windows.Поскольку я хочу тянуть и нажать через http, hg serve кажется самым простым решением.Он работает нормально, но я перезагружаю его после каждой перезагрузки, поэтому он мне нужен как служба Windows.Установка его вручную с помощью sc create ... не сработала, он создал службу, которая выдает ошибку, когда я пытаюсь ее запустить.Я нашел некоторые ссылки на эту проблему

, но они плохо документированы, если вообще.(Конечно, я мог бы установить веб-сервер и использовать hgweb, но это кажется еще более сложным.) Есть ли у вас опыт, как легко настроить hg serve ... <many args> в качестве службы Windows?

ОБНОВЛЕНИЕ: Спасибо заразные подходы.Мы остались с hg serve, оконному парню в нашей компании удалось установить его как не совсем корректный сервис.

Ответы [ 5 ]

5 голосов
/ 17 февраля 2012

Использование веб-сервера, такого как apache / lighttpd / iis, дает множество функций, таких как аутентификация или поддержка HTTPS.Но «hg serve» - это простое и быстрое решение.Кроме того, «hg serve» может обслуживать несколько репозиториев.Но hg serve сам по себе не может быть запущен как служба Windows, поскольку он не может отвечать на команды управления Windows.Поэтому использование HgService является хорошим решением для того, чтобы сделать 'hg serve' настоящей службой Windows.

Вот пример моей конфигурации.Я выполнил следующие действия:

  • Установите TortoiseHG
  • Установите HgService
  • Создайте папку "C: \ Repositories" и поместите в нее необходимые репозитории.
  • Создайте «C: \ Repositories \ hgweb.config» со следующим содержимым:
[paths]
/ = C:\Repositories\*

[web]
style = monoblue
  • Измените HgService.exe.config в C: \ Program Files \ Mercurial \ HgService
<add key="CommandLine" value="hg.exe"/>
<add key="CommandLineArguments" value="serve --prefix=/hg --address 0.0.0.0 --port 80 --web-conf c:\Repositories\hgweb.config -A access.log -E error.log" />
  • Запустите службу

Надеюсь, эта последовательность действий будет полезна и вам.

4 голосов
/ 03 марта 2011

Или вы можете использовать SCM-Manager

3 голосов
/ 03 марта 2011

Вы должны проверить Джереми Скиннер в своем блоге на эту тему.Он объясняет, как вы можете разместить репозитории Mercurial на IIS7 и использовать красивую URL-маршрутизацию.Я сделал это на своей машине, и это работает как шарм.Требуется некоторая конфигурация, но она того стоит.

1 Ошибка в его посте, которую я заметил, заключалась в том, что он пишет о hgwebdir.cgi , но я не смог его найти.Я нашел hgweb.cgi , как и копирование с этим файлом.

2 голосов
/ 28 февраля 2012

рт.ст. отлично работает с NSSM !

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