2008-11-02 46 views
2

我想更新我的做法,并寻找一些帮助和建议!IDE,SVN和推送到网站!

我在运行joomla,oscommerce,drupal等的网站上做了很多工作,所以我创建了很多自定义组件/插件和黑客等等。目前,每个站点在我的xampp安装程序上都有自己的文件夹。我想要做的是默认设置(例如)Joomla设置,当我更新更新时,我可以做一些更新包含joomla的所有其他文件夹,就像自动更新一样?

我也在寻找更多使用Aptana IDE和SVN服务的例子,如unfuddle与其他人分享我的工作,但我之前没有使用过SVN,也不确定它是否有可能使用SVN来完成上述操作?

如果能够处理主要/核心项目并将更新发送到本地更新和实际服务器,而无需维护大量不同的单独站点,那将是一件好事。

对此提出建议?

回答

3

是的,SVN将是一个很好的工具。在源代码控制中存储你的代码(例如:一个自定义的Joomla组件)。无论您想使用该组件,只需将该特定文件夹的checkoutexport插入您的实时站点。这里是你可以组织你的资料库的一种方法:通过SSH

unfuddle.com/myRepo/trunk/com_myComponent 
unfuddle.com/myRepo/trunk/com_anotherComponent 

登录到您的现场服务器并运行此命令:

 
> cd path/to/joomla/components 
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent 

任何时候你改变你的代码,提交更改,然后重新登录到服务器并运行:

 
> cd path/to/joomla/components 
> svn up com_myComponent 

这样做的真正的好处是,你应该做一个更新和碰坏,你总是可以回滚到最后一个已知的“良好”的版本。

至于自动化这个过程,如果它在不同的服务器上,你可能会倒霉。对于同一服务器上的多个部署,可以非常轻松地编写一个shell脚本来为每个站点/组件运行上述命令。如果你需要完全自动化,你甚至可以设置一个cron作业来每天凌晨2点运行这个脚本 - 我个人坚持使用手动方法,但它仍然是一种选择。

为了在SVN仓库本地工作,我建议您查看TortoiseSVN(如果您使用的是Windows):这是使用SVN最简单最简单的方法。

+0

一些伟大的建议,我担心SVN将是一场艰苦的斗争,所以你的指导真的帮助。联合检查 - 更新?这是否也将所有svn文件放入该文件夹中,还是使用干净的方式获取文件? – 2008-11-03 14:03:55

+0

是的,co =结帐,up =更新。使用checkout/update *会*创建所有SVN元数据的.svn文件夹,这是不可取的。有两种方法:使用“导出”,或使用apache .htaccess文件禁止访问.svn文件夹。许多人更喜欢第一个选项(不是我) – nickf 2008-11-04 00:43:06

0

我对你的情况没有很好的答案,但我不认为Subversion本身就是答案。

This Question解决了一些关于Subversion跨“项目”共享机制的担忧。

Subversion当然可以处理这个难题的源代码管理部分。自动分发,以及我会使用另一种工具。

+0

感谢你,我一定会考虑它 – 2008-11-03 14:19:12

0

调查Capistrano。我已经使用了它几次,一旦你弄明白了,它很好。针对rails,但应该适用于需要从存储库获取代码并将其部署到不同服务器上的任何事情。

+0

我会看看它听起来很有趣,虽然我们运行的RHEL服务器,我不认为他们运行红宝石:( – 2008-11-03 14:20:43