在共享主机中进行Subversion结帐?

时间:2010-11-15 18:19:57

标签: linux svn repository

我知道共享主机不允许安装svn。

我对如何将网站从存储库复制到共享主机的最佳方式提出了疑问。

现在:

我的存储库位于其他VPS上。

我会结帐到我的电脑,然后将所有内容复制到共享主机。

如何通过一步将数据从repo复制到托管?

4 个答案:

答案 0 :(得分:2)

如果我正确了解您的情况,您想要从一台计算机上的Subversion存储库检出或更新到GoDaddy上的主机帐户,并且您拥有对GoDaddy的ssh访问权限。如果您不希望或不希望在共享主机帐户上使用Subversion客户端来使用ssh命令行,则可以尝试使用其他计算机上的sshfs。然后,您可以将GoDaddy Web空间视为另一个目录,并且可以相应地签出或更新您的存储库。

答案 1 :(得分:2)

如果您具有对目标网络服务器的SSH访问权限,请查看rsyncscp

http://en.wikipedia.org/wiki/Rsync

http://en.wikipedia.org/wiki/Secure_copy

我不建议在生产Web服务器上安装Subversion服务器(svnserve或通过apache)。我也不建议只是将工作副本复制或签出到Web服务器上。安全问题太多了。

基本上,您要做的是在暂存区域生成网站的本地副本,然后将其同步(或scp)到生产服务器。

您可以手动执行此操作,或者更好的是,创建一个小的“部署站点”shell脚本:

  1. svn export要部署到干净的本地文件夹的版本/标记。
  2. rsync此文件夹到生产服务器。
  3. 希望这有帮助...祝你好运! :)

答案 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等协议强制按钮将代码从主机部署到远程服务器,或者根据需要自动部署每次提交。