2

我正在考虑更新我的做法,并寻求一些帮助和建议!

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

我也在考虑更多地使用 Aptana IDE 和 SVN 服务(如unfuddle)与他人分享我的工作,但我之前没有使用过 SVN,不确定是否可以使用 SVN 完成上述操作?

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

建议?

4

4 回答 4

3

是的,SVN 将是一个很好的工具。将您的代码(例如:自定义 Joomla 组件)存储在源代码管理中。无论您想在哪里使用该组件,只需在您的实时站点中执行该特定文件夹的一个checkout或一个。export这是构建存储库的一种方法:

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

通过 SSH 登录到您的实时服务器并运行以下命令:

> cd 路径/到/joomla/组件
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent

每当您更改代码时,请提交更改,然后重新登录服务器并运行:

> cd 路径/到/joomla/组件
> svn up com_myComponent

这样做的真正好处是,如果您进行更新并破坏某些内容,您始终可以将其回滚到最后一个已知的“好”版本。

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

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

于 2008-11-03T00:06:16.093 回答
2

为了使事情自动化,您可以为此使用 SVN 钩子。有一个 post-commit 钩子,所以每次提交时,你的钩子脚本可以告诉其他机器进行 SVN 更新以获取最新代码。

有关详细信息,请参阅使用 Subversion 进行版本控制 - 实施存储库挂钩

于 2008-11-21T18:43:46.917 回答
0

对于您的情况,我没有一个好的答案,但我不认为 Subversion 本身就是答案。

这个问题解决了一些关于 Subversion 跨“项目”共享机制的问题。

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

于 2008-11-03T00:08:45.073 回答
0

看看卡皮斯特拉诺。我已经用过几次了,一旦你弄明白了,它就很不错了。针对rails,但应该适用于需要从存储库获取代码并将其部署在不同服务器上的任何地方。

于 2008-11-03T05:03:07.397 回答