我们的网络服务器上有4Gb数据。
我们考虑使用Subversion(SVN)来提高可靠性并消除我们网站(4 Gb,主要是图像,Flash和视频)以及我们开发的其他网站上的数据丢失。
我在主站点上使用SVN的想法如下:
我问:
已添加:我们不需要存储二进制文件的增量。我们服务器上的二进制文件通常不会改变。但是我们需要一个快速的方法来计算二进制文件是否发生了变化。
答案 0 :(得分:1)
您必须使用正确方法中的每个工具(tm)!
答案 1 :(得分:0)
SVN擅长源代码控制(这是它的设计目的)。任何源代码控制系统都是如此,您要求它管理的非源代码越多,您可以期望的满意度就越低。
Maven存储库擅长二进制代码管理(这是它的目的)。您基本上可以检入任何特定文件(具有最小的“maven项目结构”),然后Maven可以提供它以满足其他项目可能具有的“依赖性”。
也许是一个SVN签到Maven项目的源代码(又名HTML / Javascript / CSS /等)的东西,以及Maven项目中的二进制文件(图像,视频,PDF等)的依赖项?然后,您将拥有一个类似于:
的部署过程svn checkout
)mvn install
,这将吸收相关的二进制文件)mvn package
可能打包到zip文件或tar.gz)。mvn deploy
可能部署到不同的位置)无论你做什么,避免以下反模式,它们会让你比你想象的更悲伤:
尝试重新设计您的网站以允许部署到任何计算机/目录位置,以便在上线之前在验证服务器/位置“启动网站”。 Maven提供“配置文件”,可以帮助分离实时站点和通用开发人员站点。请记住 aviod Maven site
目标,因为不您正在开发的产品,这是用于跟踪进度的管理产品 /产品质量(您开发的网站)。
最终使用SVN / Maven,您可以在Jenkins服务器上工作,为您执行“主线”构建。稍后您可以添加Selenium服务器进行自动化集成测试,并使用持续部署实践,但一次只需一小步。选择这条路并不错,但除非你已经熟悉这些工具,否则你可能需要学习一些东西。