我想在Windows服务器上使用Mercurial。由于我想通过http拉动,所以hg serve
似乎是最简单的解决方案。它工作正常,但是每次重新启动后我都将其重新启动,因此我需要将其作为Windows服务。使用sc create ...
手动安装它无效,它创建了一个服务,在我尝试启动它时抛出错误。我找到了对此问题的一些参考]
但是,如果有的话,它们的文献资料很少。 (当然,我可以安装Web服务器并使用hgweb,但似乎更加复杂。)您是否有任何经验,如何轻松地将hg serve ... <many args>
设置为Windows服务?
更新:感谢您使用的不同方法。我们选择了hg serve
,我们公司的Windows管理员设法将它安装为不正确的服务。
您应该在此主题上查看Jerremy Skinner his blogpost。他解释了如何在IIS7上托管Mercurial存储库并使用一些不错的url路由。我是在我的机器上完成的,它就像一个魅力。它需要一些配置,但值得。
我注意到他的帖子中有1个错误,是他在写有关hgwebdir.cgi,但我找不到那个。我确实找到了hgweb.cgi,因此也找到了与此文件的复制粘贴。
使用Web服务器(例如apache / lighttpd / iis)提供了许多功能,例如身份验证或HTTPS支持。但是,“ hg服务”是一种简单快速的解决方案。此外,“ hg服务”可以服务于多个存储库。但是hg serve本身不能作为Windows服务运行,因为它不能响应Windows控制命令。因此,使用HgService 是使“ hg服务”成为真正的Windows服务的一个很好的解决方案。
这里是我的配置示例。我遵循以下步骤:
[paths]
/ = C:\Repositories\*
[web]
style = monoblue
<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" />
希望此操作顺序对您也有帮助。
或者您可以使用SCM-Manager
Hg发球搭配NSSM正常!