Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn Subversion存储库应该在哪里?_Svn_Version Control - Fatal编程技术网

Svn Subversion存储库应该在哪里?

Svn Subversion存储库应该在哪里?,svn,version-control,Svn,Version Control,它应该在开发服务器上还是在Subversion服务器上 我想这可以扩展到任何客户机-服务器版本控制系统。物理存储库应该位于一个稳定的系统上,该系统可以定期备份 通常,开发服务器不符合此描述。。。如果无法获得额外的服务器资源,可以将apache服务器放在开发服务器上,并将文件远程托管在稳定的备份文件服务器上(尽管这种方法存在许多缺陷)。如果您有一个积极的备份系统来保护您的代码,那么将其托管在dev服务器上就可以了 请记住,开发服务器很容易发生配置更改、被吹走或被弄脏,这可能会在关键时刻破坏您的re

它应该在开发服务器上还是在Subversion服务器上


我想这可以扩展到任何客户机-服务器版本控制系统。

物理存储库应该位于一个稳定的系统上,该系统可以定期备份

通常,开发服务器不符合此描述。。。如果无法获得额外的服务器资源,可以将apache服务器放在开发服务器上,并将文件远程托管在稳定的备份文件服务器上(尽管这种方法存在许多缺陷)。如果您有一个积极的备份系统来保护您的代码,那么将其托管在dev服务器上就可以了


请记住,开发服务器很容易发生配置更改、被吹走或被弄脏,这可能会在关键时刻破坏您的repo。

我将我的工作放在开发服务器上,该服务器还运行Trac,Apache托管项目JavaDocs的自动更新副本,以及CI构建平台。一个项目需要相当大的规模才能需要一个专用的Subversion服务器


但是,请记住,将Subversion存储库备份到另一台机器上的另一个位置是非常重要的—您的存储库是您最宝贵的资产

我喜欢将我的服务器放在自己的服务器上,只是因为在我看来,它是组织中最重要的服务器之一,而将其放在自己的服务器上有助于管理员进行备份和其他维护活动。而且因为服务器非常重要,你不想让其他开发人员以任何可能意外损害它的方式在服务器上捣乱


此外,如果您有一群开发人员和一台运行的活动持续集成服务器,那么实际上您可能会占用大量cpu,您最不想做的事情就是让任何东西阻碍您提交代码更改,根据定义,开发框将被丢弃并倒下。它随领土而来


你真的希望这种情况发生在你的源代码存储库上吗?…

除了其他人提到的关于开发服务器经常被丢弃的事情之外,还有一个性能问题。如果有人在开发服务器上进行开发或测试,您不希望这会减慢SVN服务器的签出或同步速度。另外,如果您决定在同一台服务器上运行类似于持续集成的东西,那么您不希望所有的单元测试都会使该服务器上的常规开发/测试操作陷入困境。

在我的公司,我们将其放在提供冗余存储的专用机器上。我想在我们的文化中,我们非常重视源代码以及创建源代码所需的时间和精力。我们从未安装过任何类型的测试机,因为配置变得不可管理而可能损坏或清除


呜呜声。我们还将缺陷跟踪放在同一个盒子上,但出于同样的原因。

我们对存储库使用干净、空白的石板。具体来说,我们使用它作为我们的主存储库

我们从256MB的片开始,后来升级到512MB。Slicehost非常棒,因为您知道自己有一个完全干净的服务器,可以自己构建所需的东西

他们是一流的

我们的回购服务器如下所示:

  • 通过Apache为仓库提供服务
  • 通过主机进行每日和每周备份
就这样。没有多少开销

编辑:不想在这里卖Slicehost,所以如果这不符合犹太教,请告诉我


再次编辑:James对在第三方服务器上托管专有代码提出了一个很好的观点。在选择主机执行此类操作时,一定要格外小心。不幸的是,许多公司根本没有资源在内部构建和管理服务器,这是我们在为代码选择主机之前发现自己的地方。

最好将存储库保存在一个稳定的服务器上,以便您可以在需要时可靠地进行备份。

您通常如何备份它?rsync?您有几个选项,包括rsync。如果您的回购是使用Berkley FS设置的,那么您可以运行一些热备份脚本。您可以使用任何备份机制备份这些文件。如果您使用的是FSFS,您可以直接对回购协议进行实时备份。与远程、未建立的第三方托管代码会带来巨大的风险,应该权衡这些风险带来的好处。银行欺诈、安全、IP盗窃、停机、网络连接问题等在关键时刻都会让你任由第三方公司摆布。这就是为什么你有自动备份,James。自动备份如何帮助第三方盗窃IP?而且,自动备份不会改变您没有本地服务器的事实。如果主机服务关闭,您需要多长时间才能重新启动并运行?这种延迟会让你付出多少代价?IP=知识产权,比如窃取你的代码、算法或存储在他们服务器上的其他有价值的信息。你能描述一些目标或约束条件,让这个问题得到更具分析性的回答吗?