我目前正在使用Kiln(一种 Mercurial 衍生产品)进行版本控制,并试图找出在 GoDaddy 共享主机帐户上为我的应用程序实现此功能的最佳方法?
目前,我正在通过 FTP 手动推送更改。有一个更好的方法吗?例如,我可以创建一个钩子,在我推送到存储库时自动将更改的文件上传到 FTP 吗?是否可以在我们的实际服务器 GoDaddy 服务器上安装 Kiln 以从中推送和提取代码?
请帮忙!
我目前正在使用Kiln(一种 Mercurial 衍生产品)进行版本控制,并试图找出在 GoDaddy 共享主机帐户上为我的应用程序实现此功能的最佳方法?
目前,我正在通过 FTP 手动推送更改。有一个更好的方法吗?例如,我可以创建一个钩子,在我推送到存储库时自动将更改的文件上传到 FTP 吗?是否可以在我们的实际服务器 GoDaddy 服务器上安装 Kiln 以从中推送和提取代码?
请帮忙!
Kiln 基本上只是带有一些扩展的 Mercurial,因此如果它允许您运行 Python(看起来像 GoDaddy 那样),您可以在自己的托管网站上运行任何存储库服务器。一个普通的hgweb Mercurial 服务器就可以了。有关设置说明,请参阅网站,我认为这超出了此答案的范围:)。
设置此服务器后,您可以在 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>