我知道共享主机不允许安装svn。
我对如何将网站从存储库复制到共享主机的最佳方式提出了疑问。
现在:
我的存储库位于其他VPS上。
我会结帐到我的电脑,然后将所有内容复制到共享主机。
如何通过一步将数据从repo复制到托管?
答案 0 :(得分:2)
如果我正确了解您的情况,您想要从一台计算机上的Subversion存储库检出或更新到GoDaddy上的主机帐户,并且您拥有对GoDaddy的ssh访问权限。如果您不希望或不希望在共享主机帐户上使用Subversion客户端来使用ssh命令行,则可以尝试使用其他计算机上的sshfs。然后,您可以将GoDaddy Web空间视为另一个目录,并且可以相应地签出或更新您的存储库。
答案 1 :(得分:2)
如果您具有对目标网络服务器的SSH访问权限,请查看rsync
和scp
:
http://en.wikipedia.org/wiki/Rsync
http://en.wikipedia.org/wiki/Secure_copy
我不建议在生产Web服务器上安装Subversion服务器(svnserve或通过apache)。我也不建议只是将工作副本复制或签出到Web服务器上。安全问题太多了。
基本上,您要做的是在暂存区域生成网站的本地副本,然后将其同步(或scp)到生产服务器。
您可以手动执行此操作,或者更好的是,创建一个小的“部署站点”shell脚本:
svn export
要部署到干净的本地文件夹的版本/标记。rsync
此文件夹到生产服务器。希望这有帮助...祝你好运! :)强>
答案 2 :(得分:0)
在您的计算机上(假设您有一个linux / OS X命令行):
svn export <your repository> my-export
tar -cf - -C my-export . | ssh user@godaddy-host 'tar -C my-web-app-dir -xf -'
首先,您要将要复制的内容导出到Web主机。 svn export
比直接结账更好,因为它不会复制.svn
目录(潜在的安全漏洞)。
接下来,使用tar捆绑导出目录并通过ssh会话将其传送到另一端解压缩。
答案 3 :(得分:0)
查看具有远程部署解决方案的Subversion主机。我的公司Projectlocker就是其中之一,但其他像Beanstalk这样的公司也确实有一些解决方案。支持此功能的主机允许您通过SCP或SFTP等协议强制按钮将代码从主机部署到远程服务器,或者根据需要自动部署每次提交。