我目前正在使用Mercurial衍生产品Kiln进行版本控制,并尝试找出在GoDaddy共享主机帐户上为我的应用程序实现此功能的最佳方法?
目前,我通过FTP手动推送更改。有一个更好的方法吗?例如,我可以创建一个钩子,当我推送到存储库时,它会自动将更改的文件上传到FTP吗?是否可以在我们的实际服务器GoDaddy服务器上安装Kiln来推送和提取代码?
请帮忙!
答案 0 :(得分:2)
Kiln基本上只是Mercurial的一些扩展,所以你可以在你自己的托管网站上运行任何存储库服务器,如果它允许你运行Python(看起来像GoDaddy那样)。普通hgweb Mercurial server会做。请参阅网站以获取设置说明,我认为这超出了本答案的范围:)。
设置此服务器后,您可以在Mercurial服务器中设置一个钩子,以便在推送时将存储库导出到httpdocs
目录:
[hooks]
changegroup.archive = hg archive -r tip path/to/httpdocs
或者,您可以实际配置hgweb以将存储库放在httpdocs目录中,并配置钩子以在每次推送时更新。优点是它会更快一点,并清理已删除的文件:
[hooks]
changegroup.update = hg update
警告但是:如果您采用这种方法,则需要确保将Web服务器设置为忽略.hg
文件夹,否则任何人都可以访问您的存储库。 Apache配置示例:
<Directory /path/to/httpdocs/.hg/>
Deny from all
</Directory>